代码之家  ›  专栏  ›  技术社区  ›  alexia Greg Guida

如何在JavaScript中将整数转换为浮点?

  •  18
  • alexia Greg Guida  · 技术社区  · 13 年前

    我有一个 整数 (例如。 德意志北方银行 ),我想将其转换为 浮点数 ,具有指定的小数位数。

    草稿

    function intToFloat(num, decimal) { [code goes here] }
    intToFloat(12, 1) // returns 12.0
    intToFloat(12, 2) // returns 12.00
    // and so on…
    
    3 回复  |  直到 12 年前
        1
  •  37
  •   Nick Craver    13 年前

    您已经有了一个浮点数,它们都是JavaScript中的64位浮点数。

    要在呈现时获得小数点(作为字符串,用于输出),请使用 .toFixed() ,就像这样:

    function intToFloat(num, decPlaces) { return num.toFixed(decPlaces); }
    

    You can test it out here (尽管我会重命名这个函数,因为它不是一个精确的描述)。

        2
  •  3
  •   Simon Borsky    10 年前

    toFixed(x)不是跨浏览器解决方案。 完整的解决方案如下:

    function intToFloat(num, decPlaces) { return num + '.' + Array(decPlaces + 1).join('0'); }
    
        3
  •  1
  •   Sachin Murali G    6 年前

    如果您不需要(或不确定)固定的小数位数,可以使用

    xAsString = (Number.isInteger(x)) ? (x + ".0") : (x.toString());
    

    这在那些情况下是相关的,比如 x 作为 7.0 但是 x.toString() 会给你 "7" 你需要绳子作为 "7.0" . 如果x恰好是一个浮点数,比如说 7.1 7.233 那么字符串也应该是 "7.1" "7.233" 分别是。

    不使用Number.isInteger():

    xAsString = (x % 1 === 0) ? (x + ".0") : (x.toString());