c# - System.FormatException if use new CultureInfo("id-ID") - 印度尼西亚文化
问题描述
我正在尝试使用印度尼西亚文化将指数值转换为十进制,但它不起作用..
string _ex = "1.2162876E-5";
decimal _dec = decimal.Parse(_ex, NumberStyles.Float, new CultureInfo("id-ID"));
它抛出了我 System.FormatException
但如果我使用 en-US decimal d0 = decimal.Parse(_ex, NumberStyles.Float, new CultureInfo("en-US")); 它可以正常工作
我错过了什么?
请帮忙
非常感谢 Don2
解决方案
在id-ID
中,小数点分隔符 ( CultureInfo.NumberFormat.NumberDecimalSeparator
) 是","
,因此它期望"1,2162876E-5"
作为输入(表示数值零点零零零零一二等)。如果输入使用 a"."
表示小数点,那么您可能应该使用不变的文化来解析它 ( CultureInfo.InvariantCulture
),而不是特定于区域设置的文化。
推荐阅读
- ldap - LDAP_BIND(无效 DN)Webmin 用户和组数据库(Docker)
- azure - 如何在 Terraform 中将子网 ID 元组展平为字符串
- javascript - 重新打开幻灯片菜单后,链接不会滚动到不同的部分
- javascript - iframe 添加表单在 ASP.NET 中重复输入
- android - Android Gradle 插件仅支持 Kotlin Gradle 插件版本 1.3.10
- c - 创建任何类型的内存块以访问和保存 C 中的位
- mysql - 在 MySql 中的给定日期 1,2,3,...n 购买相同商品的用户数
- jquery - jQuery slideUp / slideDown 仅适用于移动/调整大小问题
- javascript - UL 标签导致 chrome 中出现意外的 clientHeight(或 scrollHeight)
- react-native - 如何使用 Flipper 调试 React Native App?