请注意越南语系环境下小数的处理

2.19.0版本,增加越南语的支持,出现很奇怪的现象,考试、课程上显示的学分都出现异常,学分都被乘上了100,一直不清楚问题原因。
请注意越南语系环境下小数的处理
文章图片
开始是考试的APP页面显示有异常,后来发现后台的学分显示也有问题,这个问题剑铭对机制的LibSysUtils的ToString方法做了特殊处理,使用英语语系做格式化
请注意越南语系环境下小数的处理
文章图片
这样解决了后台显示问题,但是后来测试,发现APP课程详情页面的评价分数,还是显示错误
请注意越南语系环境下小数的处理
文章图片
查看课程详情的接口,发现返回学分给前端是直接使用toString,带格式参数进行格式化:


请注意越南语系环境下小数的处理
文章图片
调整了这里的处理以后,测试在越南语环境下提交评分,在中文下查看,又出现异常,Redis里的评分,居然是:4,9,这样推测可能前端传给服务端的数据就有异常,拦截请求,发现,果然如此


请注意越南语系环境下小数的处理
文章图片
请注意越南语系环境下小数的处理
文章图片
这样存到redis以后,评分就是4,9, 然后查看详情的时候,又在英语环境格式化,变成了49.0
怀疑越南语下,符号的使用,是跟中文、英文,是不同的,百度后确认


请注意越南语系环境下小数的处理
文章图片
【请注意越南语系环境下小数的处理】至此真相大白,以后在多语言环境处理数值时,要先了解该语言对数值符号的使用是否与中文、英文相同,避免出现类似问题。

    推荐阅读