這裏是我使用的代碼:
int64_t __pow10_arr[18] = { 1l, 10l, 100l, 1000l, 10000l, 100000l,
1000000l, 10000000, 100000000l, 1000000000l, 10000000000l, 100000000000l,
1000000000000l, 10000000000000l, 100000000000000l, 1000000000000000l, 10000000000000000l, 100000000000000000l };
double roundToNfractions (double val, int n)
{
if (n<0 || n >= (sizeof (__pow10_arr)/ sizeof (int64_t))) {
// log error however you wish to
return val;
}
val *= __pow10_arr[n];
val += 0.5;
val = (uint64_t) val;
val /= __pow10_arr[n];
return val;
}
你可以在這裏找到你的答案... [鏈接](http://stackoverflow.com/questions/497018/is-there-a - 功能對一個浮動在C或做,我需要寫我自己的) – Paritosh
請注意,該鏈接,和其他相關的答案,可以在側邊欄中找到對。 –
非常強烈的認可上面的鏈接! – xaxxon