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

相关推荐
烟话61 小时前
C# 内存机制详解:值类型、引用类型与 String 的不可变性
java·jvm·c#
我是唐青枫2 小时前
C#.NET MemoryMarshal 深入解析:零拷贝内存重解释、二进制读写与使用边界
c#·.net
susan花雨2 小时前
C#异步并行处理的用法
c#
weixin_520649873 小时前
Winform创建与启动
开发语言·c#
武藤一雄3 小时前
WPF中逻辑树(Logical Tree)与可视化树(Visual Tree)到底是什么
microsoft·c#·.net·wpf·.netcore
周杰伦fans4 小时前
深入 C# 匿名类型:从 `new { Ask = ask }` 说起
开发语言·c#
不会编程的懒洋洋4 小时前
C# IDisposable 和 using
开发语言·笔记·机器学习·c#·.net·visual studio·c#基础
家有娇妻张兔兔4 小时前
Apache POI 导出 Word 踩坑实录:Word 分栏为什么做不好左右平铺
c#·word·apache·poi·分栏
唐青枫4 小时前
C#.NET MediatR 深入解析:进程内消息分发、CQRS、通知事件与管道行为实战
c#·.net