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

相关推荐
m5655bj14 分钟前
使用 C# 将 Excel 表格转换为 DataTable
数据库·c#
LcVong24 分钟前
基于C#实现斑马ZT411打印机TCP通讯与打印状态精准判定
网络·tcp/ip·c#
2501_9307077841 分钟前
使用C#代码在 Word 文档页面中添加装订线
开发语言·c#·word
曲幽42 分钟前
C#异步与多线程:从入门到实战,避免踩坑的完整指南
c#·thread·async·await·csharp
初级代码游戏11 小时前
C#:程序发布的大小控制 裁剪 压缩
c#·.net·dotnet·压缩·大小·发布·裁剪
量子物理学13 小时前
Modbus TCP
c#·modbus tcp
人工智能AI技术15 小时前
能用C#开发AI吗?
人工智能·c#
自己的九又四分之三站台17 小时前
6. 简单将原生代码改为流式请求
c#
一叶星殇20 小时前
C# .NET 如何解决跨域(CORS)
开发语言·前端·c#·.net
JQLvopkk20 小时前
C#调用Unity实现设备仿真开发浅述
开发语言·unity·c#