gpt4 book ai didi

c# - 转换 double 0.10 double.parse() 转换为 10.0

转载 作者:行者123 更新时间:2023-11-30 13:23:11 26 4
gpt4 key购买 nike

我在 visual studio 中有一个简单的控制台应用程序,用于在开发之前测试一些代码。但是现在我在将一些字符串解析为 double 时遇到了问题。
当用户输入的是 String: 0.10 时,我想将其转换为 double。所以输出应该是 double :0.10。

但是当我使用以下代码执行此操作时:

double r_value = 0;
r_value = Math.Round(double.Parse(value), 2);

或者

r_value = double.Parse(value);

输出将是:10 或 10.0。这个输出怎么会变成这样?并转换为 10.0 而不是我认为应该的 0.10。

最佳答案

我强烈怀疑您的默认文化是 . 是一个分组 分隔符(通常为数千)。因此,在英国人可能会把一万写成“10,000”的地方,其他一些文化会写成“10.000”。到那时,您的输出就有意义了。

如果您想使用不变区域性(将. 视为小数分隔符并将, 视为分组分隔符)进行解析,请执行此操作明确地:

double r_value = double.Parse(value, CultureInfo.InvariantCulture);

关于c# - 转换 double 0.10 double.parse() 转换为 10.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13828399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com