我有这个代码:
string x = "-0.228469369833477";
Single s = Convert.ToSingle(x);
Console.WriteLine(s);
控制台输出:-2,284694E+14。
我该怎么做才能让它输出:-0.228469369833477?
最佳答案
以原始形式输出数字:
var s = -0.228469369833477;
Console.WriteLine(s.ToString("0.#######################"));
请注意 s
可能是 double
,而不是 single
。通过使用 single
,您很可能会丢失数字。要获得足够的精度来表示所有数字,请改用 Convert.ToDouble()
。
如其他答案所述,为确保数字在您的语言环境中得到正确解析,请使用 CultureInfo.InvariantCulture
。
decimal
将为您提供 28-29 位有效数字的精度,精度更高,并且没有科学记数法问题。
关于c# - Convert.ToSingle(string) C# 转换歧义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35944384/