扫码关注官方订阅号
比如数组[1,2,3,4],通过转换变成[一,二,三,四],1和一对应,2和二对应,类推。
业精于勤,荒于嬉;行成于思,毁于随。
现代浏览器其实是提供本地化功能的,比如
(1234567890).toLocaleString('zh-Hans-CN-u-nu-hanidec',{useGrouping:false}) //=>"一二三四五六七八九〇"
所以只针对现代浏览器的,这样最简单
[1,2,3,4].map(i=>i.toLocaleString('zh-Hans-CN-u-nu-hanidec',{useGrouping:false})) //["一", "二", "三", "四"]
function translateArray(arr1) { var arr2 = []; for(var i = 0; i < arr1.length; i++) { var str = arr1[i].toString(); var newStr = ''; for(var j = 0; j < str.length; j++) { switch(str[j]) { case '1': newStr += '一'; break; case '2': newStr += '二'; break; ... default: newStr += '零'; } } arr2.push(newStr); } return arr2; }
十以内可以这样(超过十的话如“11”变成了“一一”),当然也可以自行扩充(需要加些位数判断)。
var a = [1,2,3,4];
var b = ["一","二","三","四"]; var c = {}; for( var i = 0 ; i < a.length; i++ ) { c["_" + a[i]] = b[i]; } c["_1"] == "一";
如果是希望将阿拉伯数字转换成汉字表达,那么首先可以将0-9做映射(零,一,二...九),然后加上单位“十,百,千,万...”,拆分阿拉伯数字按照读法规则进行转换就可以~~
这样就可以了~
zhnum="〇一二三四五六七八九" "〇一二三四五六七八九" zhnum[0] "〇" zhnum[3] "三" zhnum[9] "九"
这种一般是采用查表法,做一个转换对应表,然后查表替换。如果是期望一般数字转换为中文字表示法的话,网上有一些函数包可以实现(自己也可以实现,不过真正要写好还是有一定难度的)
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
现代浏览器其实是提供本地化功能的,比如
所以只针对现代浏览器的,这样最简单
十以内可以这样(超过十的话如“11”变成了“一一”),当然也可以自行扩充(需要加些位数判断)。
var a = [1,2,3,4];
如果是希望将阿拉伯数字转换成汉字表达,那么首先可以将0-9做映射(零,一,二...九),然后加上单位“十,百,千,万...”,拆分阿拉伯数字按照读法规则进行转换就可以~~
这样就可以了~
这种一般是采用查表法,做一个转换对应表,然后查表替换。
如果是期望一般数字转换为中文字表示法的话,网上有一些函数包可以实现(自己也可以实现,不过真正要写好还是有一定难度的)