Javascript将数据转成英文书写格式

简介: var aTens = [ "TWENTY", "THIRTY", "FORTY", "FIFTY", "SIXTY", "SEVENTY", "EIGHTY", "NINETY"]; var aOnes = [ "ZERO", "ONE", "TWO", "THREE", "FOUR", ...
var  aTens = [ "TWENTY", "THIRTY", "FORTY", "FIFTY", "SIXTY", "SEVENTY", "EIGHTY", "NINETY"];
var aOnes = [ "ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE",
"TEN", "ELEVEN", "TWELVE", "THIRTEEN", "FOURTEEN", "FIFTEEN", "SIXTEEN", "SEVENTEEN", "EIGHTEEN",
"NINETEEN" ];

function ConvertToHundreds(num)
{
var cNum, nNum;
var cWords = "";

num %= 1000;
if (num > 99) {
  /* Hundreds. */
  cNum = String(num);
  nNum = Number(cNum.charAt(0));
  cWords += aOnes[nNum] + " HUNDRED";
  num %= 100;
  if (num > 0)
     cWords += " AND "
}



if (num > 19) {
  /* Tens. */
  cNum = String(num);
  nNum = Number(cNum.charAt(0));
  cWords += aTens[nNum - 2];
  num %= 10;
  if (num > 0)
     cWords += " ";
}

if (num > 0) {
  /* Ones and teens. */
  nNum = Math.floor(num);
  cWords += aOnes[nNum];
}

return cWords;
}

function ConvertToWords(num)
{
var aUnits = [ "THOUSAND", "MILLION", "BILLION", "TRILLION", "QUADRILLION" ];
var cWords = (num >= 1 && num < 2) ? "" : "";
var nLeft = Math.floor(num);
for (var i = 0; nLeft > 0; i++) {
   if (nLeft % 1000 > 0) {
      if (i != 0)
         cWords = ConvertToHundreds(nLeft) + " " + aUnits[i - 1] + " " + cWords;
      else
         cWords = ConvertToHundreds(nLeft) + " " + cWords;
   }
   nLeft = Math.floor(nLeft / 1000);
}
num = Math.round(num * 100) % 100;
if (num > 0)
  cWords += ConvertToHundreds(num) + " CENTS ";
// else
//  cWords += "Zero Cents";

return cWords+'ONLY';
}

调用:
ConvertToWords(123,450,000.66) -->ONE HUNDRED AND TWENTY THREE MILLION FOUR HUNDRED AND FIFTY THOUSAND SIXTY SIX CENTS ONLY
目录
相关文章
|
1月前
|
JSON JavaScript 前端开发
解决js中Long类型数据在请求与响应过程精度丢失问题(springboot项目中)
解决js中Long类型数据在请求与响应过程精度丢失问题(springboot项目中)
39 0
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
|
2月前
|
JavaScript 前端开发
JS将两个数组和合并成数组包对象格式的方法
JS将两个数组和合并成数组包对象格式的方法
27 0
|
2月前
|
存储 前端开发 JavaScript
JavaScript 中的 BLOB 数据结构的使用介绍
JavaScript 中的 BLOB 数据结构的使用介绍
57 1
|
3月前
|
JSON JavaScript 前端开发
JavaScript 如何对 JSON 数据进行冒泡排序?
JavaScript 如何对 JSON 数据进行冒泡排序?
51 0
|
3月前
|
JavaScript 前端开发
NUS CS1101S:SICP JavaScript 描述:二、使用数据构建抽象
NUS CS1101S:SICP JavaScript 描述:二、使用数据构建抽象
27 0
|
3月前
|
前端开发 JavaScript Java
JavaScript复制内容到剪切板 带格式的复制
JavaScript复制内容到剪切板 带格式的复制
|
16天前
|
JavaScript 前端开发
EasyUi js 加载数据表格DataGrid
EasyUi js 加载数据表格DataGrid
|
1月前
|
JSON JavaScript 前端开发
JavaScript随手笔记---数组中相同的元素进行分组(数据聚合) groupBy函数
JavaScript随手笔记---数组中相同的元素进行分组(数据聚合) groupBy函数
|
1月前
编程笔记 html5&css&js 007 HTML文本:段落和格式
编程笔记 html5&css&js 007 HTML文本:段落和格式