使用货币值时,SQLite ROUND(X,Y)不适用于尾随零

时间:2014-04-22 12:56:49

标签: javascript sqlite rounding

我正在将sqlite表中的货币值显示在我的页面上。我正在使用sqlite提供的ROUND(X,Y)函数,但每当我做ROUND(money,2)之类的东西时,最后的0都不会显示出来。我知道这样做是为了两位小数,因为只要结果不是0就会显示出来。

例如:我得到25.35美元(这很好),但如果价值是25.30美元,我得到25.3美元

有没有解决方案?

我的代码显示值:

transaction.executeSql('SELECT ROUND(money,2) FROM table1', [],
                                      function(transaction, result) {
                                      if (result != null && result.rows != null) {
                                      for (var i = 0; i < result.rows.length; i++) {
                                      var row = result.rows.item(i);
                                      $('#placeonpage').append('$'+row['ROUND(money,2)']);
                                      }
                                      }
                                      },errorHandler);
               },errorHandler,nullHandler);

1 个答案:

答案 0 :(得分:0)

ROUND函数不返回字符串,它返回一个数字。 当JavaScript然后将数字转换为字符串时,它只使用所需的数字。

您必须在JavaScript代码中进行格式化:

.append('$' + row['money'].toFixed(2));

(在这种情况下,您不需要在SQL中进行任何舍入。)