Javascript 使用货币值时,SQLite ROUND(X,Y)不适用于尾随零
我正在页面上显示sqlite表中的货币值。我使用的是sqlite提供的ROUNDX,Y函数,但每当我执行ROUNDmoney之类的操作时,最后的0永远不会出现。我知道它的小数点后两位,因为只要结果不是0,它就会显示出来 例如:我得到25.35美元这很好,但如果值是25.30美元,我得到25.3美元 有什么解决办法吗 我的代码用于显示值:Javascript 使用货币值时,SQLite ROUND(X,Y)不适用于尾随零,javascript,sqlite,rounding,Javascript,Sqlite,Rounding,我正在页面上显示sqlite表中的货币值。我使用的是sqlite提供的ROUNDX,Y函数,但每当我执行ROUNDmoney之类的操作时,最后的0永远不会出现。我知道它的小数点后两位,因为只要结果不是0,它就会显示出来 例如:我得到25.35美元这很好,但如果值是25.30美元,我得到25.3美元 有什么解决办法吗 我的代码用于显示值: transaction.executeSql('SELECT ROUND(money,2) FROM table1', [],
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);
ROUND函数不返回字符串,而是返回一个数字。 当JavaScript将数字转换为字符串时,它只使用所需的数字 您必须在JavaScript代码中进行格式化:
.append('$' + row['money'].toFixed(2));
在这种情况下,您不需要在SQL中进行任何舍入。非常感谢您,我已经寻找答案很久了!