如何将 2.3449 转换为十进制

How to convert 2.3449 to Decimal

我正在尝试将 2.3449 转换为十进制,但它转换为 23449,0

我正在像下面这样转换它

string temp = "2.3449";
decimal value_ = Convert.ToDecimal(temp);

如果我用 COLON 替换 DOT,它会完美转换。但是,我不想用字符串中的 COLON 替换 DOT。不替换有什么好的转换方式

您的文化将 . 视为千位分隔符,而不是小数点分隔符。

您始终可以使用特定文化:

var val = decimal.Parse(temp, CultureInfo.InvariantCulture);

ToString 也是如此 - 如果您想打印以 . 作为小数点分隔符的数字,只需使用适当的区域性即可。不过,本地文化(默认)通常是面向用户的最佳选择。不变文化非常适合持久化:)