在输出的数字的千分之一处插入逗号

时间:2016-04-28 15:55:27

标签: javascript

我创建了一个函数,它以一个以英制为单位输入div的数字,并将该值转换为另一个div中的公制单位。作为js相对较新,我现在意识到千分之一的逗号分隔符不是标准。我试图应用我发现的许多解决方案(其中很多是reg ex's),但是没有一个适合我的需要或已经工作过。简单地说,我只是想让两个div输出的数字都有逗号分隔千分之一的位置。最终,这些数字是以英尺和米表示的高程值。任何见解都将非常感谢...谢谢!

这是我的代码:

<body>

<div id="feet" onload="calculateMeter()">2120</div>
<div id="meter"></div>

<script>
var feet = document.getElementById('feet');
var meter = document.getElementById('meter');

function calculateMeter() {
    if (feet.innerHTML > 0) {
        meter.innerHTML = (feet.innerHTML  *  0.3048).toFixed(1);
        feet.toString();
        feet = feet.innerHTML.replace(/(\d)(\d{3})\,/, "$1,$2.");
    } 
}
calculateMeter();


</script>                           
</body>

3 个答案:

答案 0 :(得分:0)

我的功能

function formatNumberWithCommasDec(d) {
      d += "";
      var c = d.split(".");
      var f = c[1];
      var a = c.length > 1 ? c[0] + '.' : '.', flag = false;
      var g = f.split('').reverse(), y = 1, s = '';
      for (var i = g.length - 1; i >= 0; i--) {
        flag = false;
            var e = g[i];
        var h = (y === 3) ? s = s + e + ',' : s = s + e;
        console.log(e);
        if(y === 3){
            y = 1;
          flag = true;
        } else {
            y = y + 1;
        }
            }
     if(flag){
            s = s.substring(0, s.length - 1);
     } else {
            s = s;
     }
     return a + s;     
  }

小提琴https://jsfiddle.net/6f0tL0ec/1/

更新:发现了一些问题,但现在好不好了

答案 1 :(得分:0)

看来你的问题实际上只是将内容设置为DOM元素。使用How to print a number with commas as thousands separators in JavaScript中的解决方案来格式化数字,您只需要:

function calculateMeter() {
    if (feet.innerHTML > 0) {
        meter.innerHTML = numberWithCommas*(feet.innerHTML * 0.3048).toFixed(1));
        feet.innerHTML = numberWithCommas(feet.innerHTML);
    } 
}

答案 2 :(得分:0)

这是一个简单的RegEx解决方案

Caused by: java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (near ")": syntax error)
    at org.sqlite.core.DB.newSQLException(DB.java:890)
Exception in thread "main" org.hibernate.exception.GenericJDBCException: [SQLITE_ERROR] SQL error or missing database (near ")": syntax error)
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:52)