【C#】部分国家/语言,string字符串转decimal、float时,小数点解析异常、小数点丢失、小数点被忽略

现象:

部分国家地区,字符串转小数后,小数点丢失,比如:输入"12.34",输出1234,而非12.34。

部分相关函数decimal.Parse、decimal.TryParse、float.Parse、float.TryParse ···

原因:

看手机系统默认语言,中英文正常解析,印尼语则会出错,

因为不同国家的小数点写法不同,有 '.' 和 ',' 两种:

中文字符串"12.34",转成印尼小数时,因为小数点表示方式的区别,结果是1234;印尼小数"12,34"转成中文小数,也是1234。

解决:

读取手机系统默认语言,

方法1. 解析小数数值前替字符:string.Replace(',','.')

方法2. Android Java函数:DecimalFormat.applyPattern、DecimalFormat.setDecimalFormatSymbols,修改数值格式化符号

相关推荐
hez20104 小时前
TypedSql:在 C# 类型系统上实现一个 SQL 查询引擎
c#·.net·.net core·compiler
世洋Blog5 小时前
利用<<左移运算符优雅的设计游戏能力的任意组合和判断
游戏·unity·c#
曹牧6 小时前
C#中,#region和#endregion
开发语言·c#
czhc11400756636 小时前
c# 1121 构造方法
java·javascript·c#
在路上看风景8 小时前
2.3 C#装箱和拆箱
开发语言·c#
葛小白110 小时前
C#进阶14:C#全局路径规划算法_RRTstar
c#·路径规划·rrtstar算法
Tiger_shl11 小时前
SqlConnection、SqlCommand 和 SqlDataAdapter
开发语言·数据库·c#
yi碗汤园14 小时前
Visual Studio常用的快捷键
开发语言·ide·c#·编辑器·visual studio
MM_MS15 小时前
C#小案例-->汽车租聘系统计价功能
c#·汽车·简单工厂模式·抽象工厂模式·visual studio