【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,修改数值格式化符号
原文地址:https://blog.csdn.net/qq_39108767/article/details/140431012
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!