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

相关推荐
LeonDL16816 分钟前
【通用视觉框架】基于C#+Winform+OpencvSharp开发的视觉框架软件,全套源码,开箱即用
人工智能·c#·winform·opencvsharp·机器视觉软件框架·通用视觉框架·机器视觉框架
数据的世界012 小时前
技术变革:为何C#与.NET是未来的开发方向
java·c#·.net
大龄Python青年2 小时前
C#快入教程:Linux安装.NET
linux·c#·.net
我是唐青枫3 小时前
C#.NET Random 深入解析:随机数生成原理与最佳实践
c#·.net
光头闪亮亮3 小时前
电子发票解析工具-c#桌面应用开发案例详解
c#
咕白m6254 小时前
如何通过 C# 提取 PDF 图片?单页与全文档提取
c#·.net
时光追逐者8 小时前
【拾遗补漏】.NET 常见术语集
微软·c#·.net
秋雨雁南飞8 小时前
c# 使用Memory实现Redis入队出队功能
redis·c#
2501_9307077810 小时前
使用C#代码添加或删除PPT页面
开发语言·c#·powerpoint
小码编匠12 小时前
WPF 绘制图表合集-LiveCharts
后端·c#·.net