当您将12345678.0(浮动)转换为字符串时,我不知道为什么它会显示“1.234568E + 07
我正在使用以下代码来显示字符串
String FinalPayement;
float amount = 12345678.0;
FinalPayement = Amount.ToString();
有人知道吗?
答案 0 :(得分:2)
首先,如果你没有为你的文字使用f
后缀,你的文字将是double
而不是float
。
var amount = 12345678.0f; //amount will be float
var amount = 12345678.0; // amount will be double.
其次,C#区分大小写。这意味着amount
和Amount
不一样。您应该使用amount.ToString()
代替Amount.ToString()
。
第三,作为解决方案,您可以使用custom numeric format之类的;
float amount = 12345678.0f;
Console.WriteLine(amount.ToString(".0"));
输出如下;
12345680.0
这里有 demonstration
。
答案 1 :(得分:0)
要对格式设置进行控制,请将格式字符串传递给接受它们的ToString()
重载。例如:
float amount = 12345678.0f;
string finalPayment = amount.ToString("0.0");
答案 2 :(得分:0)
String FinalPayement;
Decimal amount = 12345678.0;
FinalPayement = Amount.ToString();
代替浮动尝试小数...如果你可以改变它...否则其他答案对你有好处...
答案 3 :(得分:0)
float amount = 12345678.0f;
Console.WriteLine(amount.ToString("f"));
答案 4 :(得分:-2)
float.Parse("41.00027357629127", CultureInfo.InvariantCulture.NumberFormat);