uni-app h5中设置英文标点浏览器生成打包后微信打开不生效
uni-app h5中设置英文标点浏览器生成打包后微信打开不生效
示例代码:
<view >9,958.99</view>
操作步骤:
<view >9,958.99</view>
预期结果:
- hbuilder中输入的是英文的逗号,预期显示英文逗号
实际结果:
- PC浏览器显示正常,移动端打开显示中文逗号
bug描述:
业务需求是实现数字金额,整数部分超过三位数之后需要显示英文状态下逗号.同样的代码运行到浏览器显示正常.但是打包发布后从手机微信或是手机浏览器打开后显示的是中文逗号.以下分别是PC浏览器截图、移动端截图。
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win10 | HBuilderX |
HBuilderX | 3.7.9 |
更多关于uni-app h5中设置英文标点浏览器生成打包后微信打开不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
可能是字体的问题,你可以尝试使用引入的字体,不使用默认字体看看
更多关于uni-app h5中设置英文标点浏览器生成打包后微信打开不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我复制了你实例代码里面的逗号,出来显示的是中文(全角)逗号,根本不是你描述的英文逗号。。在代码中使用都是会报错的。。。,这些才是英文逗号
var a= 12345
console.log(a.toLocaleString()) // 12,345
考虑这种方案
这是一个常见的字符编码问题,主要原因是移动端浏览器和微信内置浏览器对中文环境下的标点符号自动转换机制。
解决方案:
- 使用HTML实体编码替换逗号:
<view>9,958.99</view>
- 使用CSS的unicode编码强制显示英文逗号:
view {
font-family: Arial, sans-serif;
unicode-bidi: embed;
}
- 在JavaScript中处理数字格式:
// 使用toLocaleString方法
const num = 9958.99;
const formatted = num.toLocaleString('en-US');
- 检查项目manifest.json中的语言设置:
"h5": {
"locale": "en-US"
}