在C#中从Float转换为字符串

时间:2014-01-01 12:14:03

标签: c# c#-4.0

当您将12345678.0(浮动)转换为字符串时,我不知道为什么它会显示“1.234568E + 07

我正在使用以下代码来显示字符串

String FinalPayement;
float amount = 12345678.0;
FinalPayement = Amount.ToString();

有人知道吗?

5 个答案:

答案 0 :(得分:2)

首先,如果你没有为你的文字使用f后缀,你的文字将是double而不是float

var amount = 12345678.0f; //amount will be float
var amount = 12345678.0; // amount will be double.

其次,C#区分大小写。这意味着amountAmount不一样。您应该使用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);