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

相关推荐
hixiong1232 小时前
C# OpenCVSharp实现Hand Pose Estimation Mediapipe
开发语言·opencv·ai·c#·手势识别
baivfhpwxf20232 小时前
SQL Server 服务端如何在其他电脑连接
c#
Dm_dotnet3 小时前
WPF/C#:使用Microsoft Agent Framework框架创建一个带有审批功能的终端Agent
c#
Dm_dotnet3 小时前
WPF/C#:使用Stylet中的IWindowManager用于显示等待窗体、对话框与消息框
c#
Jackson@ML3 小时前
360度看C#编程语言
开发语言·c#
wnety3 小时前
C#开发winform调用软键盘
c#·winform
谢大旭4 小时前
iframe 三档预览模式
c#
她说彩礼65万4 小时前
C# Sqlite帮助类
jvm·sqlite·c#
q***18065 小时前
如何使用C#与SQL Server数据库进行交互
数据库·c#·交互
炼钢厂5 小时前
WinFrom窗体开发之鼠标交互
windows·microsoft·c#·鼠标