javascript - 转换后的 Int 返回 NaN

标签 javascript

这是我的代码

var fifty = prompt("Enter amount ");
var twenty;
alert(twenty=parseInt(fifty/50) + " x " +   "50 dollar bill");
alert(parseInt(twenty/20) + " x " + "20 dollar bill");

我要数的是美元钞票。 例如,当我输入“120”时,它应该返回 2x 50 钞票和 1x 20 美元钞票,我知道返回值是 String 类型,所以我将它们转换为数字,但在 20 美元钞票上它返回“Nan x 20 dollar bils”我无法理解为什么

最佳答案

请停止使用 parseInt 来分隔浮点值的整数部分,仅将其用于将字符串转换为整数。当您使用 parseInt 时,浮点值被转换为字符串,然后解析回一些整数,可能会出现 float 被转换为字符串的情况,如 5.1234E-6parseInt 在这种情况下将返回 5。请改用 Math.floor()

var sum = parseInt(prompt("Enter amount "));
var twenty = Math.floor(sum/50);
alert(twenty + " x " +   "50 dollar bill");
alert(Math.floor((sum - (twenty*50))/20) + " x " + "20 dollar bill");

关于javascript - 转换后的 Int 返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33521015/

相关文章:

javascript - Jquery 选择器后的 [] 括号是什么意思?

javascript - 如何使用 JQuery 检测鼠标悬停并在动态元素上添加动画

javascript - 根据部分元素响应解析JSON数据

javascript - 如何将 javascript var 值传递给 Grails Controller ?

javascript - JS for 循环到胖箭头函数的前缀操作中左侧表达式无效

javascript - 在 React.js 中使用 moment.js 计算并显示两个日期之间的差异?

javascript - 使用 SQLite 插入/读取 Base64 字符串

javascript - 解析 JSON 字符串响应。已经尝试过 JSON.parse()

javascript - 从输入写入 div

javascript - YUI 数据表 - "Data Error."