作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
许多答案已找到如何将东方阿拉伯数字 (٠١٢٣٤٥٦٧٨
) 转换为西方阿拉伯数字 (01234567
),反之亦然。
但是,有没有办法对东方阿拉伯数字应用数学运算符。我正在寻找类似以下的内容:
'١٢٣'+'١١٢'==235
'١٢٣'-'١١٢'==-11
'٢'*'٣'==6
'١'==='٢' //false
最佳答案
您可以扩展 Number
类并覆盖 valueOf
方法(基于 ES6 的解决方案)
class EANum extends Number{
constructor(){
super();
this.value=arguments[0];
}
valueOf(){
return Number( this.value.replace(/[٠١٢٣٤٥٦٧٨٩]/g,(d)=> d.charCodeAt(0) - 1632).replace(/[۰۱۲۳۴۵۶۷۸۹]/g, (d)=> d.charCodeAt(0) - 1776));
}
toString(){
return this.valueOf();
}
}
var a=new EANum('٣٤'),b=new EANum('١١');
console.log(a); //
console.log(a+b); //45
console.log(a-b); //23
console.log(a*b); //374
关于javascript - 使用 Javascript 将运算符(+、-、*、/)应用于东方阿拉伯数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38791422/
你有一个这样输出的文件: 1 2 哪些输出: 1 2 3 现在如果我想要如下输出: ? ? ? 好吧,我希望我可以输出阿拉伯语/波斯语版本的 1,2,3 而不是“?”。如何使用 HTML
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
我是一名优秀的程序员,十分优秀!