【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,修改数值格式化符号

相关推荐
Charles_go6 小时前
C#13、什么是部分类
开发语言·c#
ghie909010 小时前
C#语言中使用“using“关键字的介绍
开发语言·c#
csdn_wuwt11 小时前
有C#可用的开源的地图吗?
后端·c#·gis·map·开发·设计·地图
6极地诈唬11 小时前
【C#-sqlSugar-sqlite】在Windows从源码编译构建System.Data.SQLite.dll的方法
windows·sqlite·c#
我只有一台windows电脑11 小时前
C# 对多个任务进行符合管理
c#
数据的世界0112 小时前
JAVA和C#的语法对比
java·windows·c#
csdn_aspnet15 小时前
WPF 做一个简单的电子签名板(一)
c#·wpf
玖笙&15 小时前
✨WPF编程进阶【7.2】:动画类型(附源码)
c++·c#·wpf·visual studio
她说彩礼65万15 小时前
C# 容器实例生命周期
开发语言·c#
清风与日月1 天前
c# 集成激光雷达(以思岚A1为例)
开发语言·c#