如何在小数点后打印float / double变量的数字?
例如,对于435.5644
,它将输出5644
。
答案 0 :(得分:4)
尝试
fraction = value - (long) value;
或:
fraction = value - Math.Floor(value);
答案 1 :(得分:1)
您可以尝试以下操作:
double d = 435.5644;
int n = (int)d;
var v = d - n;
string s = string.Format("{0:#.0000}", v);
var result = s.Substring(1);
结果:5644
答案 2 :(得分:-1)
编辑:参考另一个问题(http://stackoverflow.com/questions/4512306/get-decimal-part-of-a-number-in-javascript) 您可以执行以下操作:
double d = 435.5644;
float f = 435.5644f;
Console.WriteLine(Math.Round(d % 1, 4) * 10000);
Console.WriteLine(Math.Round(f % 1, 4) * 10000);
这将为您提供您要查找的整数部分。
最好是这样做,因为Aghilas Yakoub回答,但是,这里是另一个使用字符串处理的选项。假设所有金额都有小数,而小数分隔符是一个点(。),您只需要获得索引1.
double d = 435.5644;
Console.WriteLine(d.ToString().Split('.')[1]);
float f = 435.5644f;
Console.WriteLine(f.ToString().Split('.')[1]);
否则,您可能会收到Unhandled Exception:System.IndexOutOfRangeException。