【发布时间】:2019-09-27 23:39:03
【问题描述】:
我正在编写一个基本函数来完成 exercism.io 的 Space Age(easy) 活动。我写的函数返回正确的数字,但是作为一个字符串,有人能告诉我为什么吗?
我知道这可能是一个简单的答案,但即使在运行调试器工具并搜索堆栈溢出问题之后,我也会迷失方向。
请不要为练习提供解决方案,因为我想自己解决这个问题。
我已经阅读过类似标题的关于堆栈溢出的问题,例如: Number function returning string
var age = (planet, seconds) => {
var orbitalPeriod;
const solarsystem = {
earth : 1,
mercury : 0.2408467,
venus : 0.61519726,
mars : 1.8808158,
jupiter : 11.862615,
saturn : 29.447498,
uranus : 84.016846,
neptune : 164.79132
}
orbitalPeriod = solarsystem[planet];
return (seconds / 31557600 / orbitalPeriod).toFixed(2);
}
age('mercury',2134835688);
// returns "280.88"
我也尝试过在 orbitalPeriod 变量上使用 Number 和 parseFloat 并返回如下值:
orbitalPeriod = Number.parseFloat(solarsystem[planet]);
return Number.parseFloat(seconds / 31557600 / orbitalPeriod).toFixed(2);
【问题讨论】:
-
toFixed返回一个字符串,就是这样。
标签: javascript string function numbers javascript-objects