【问题标题】:parseFloat returning NaN for Celsius to FahrenheitparseFloat 将摄氏温度的 NaN 返回到华氏温度
【发布时间】:2019-01-25 19:39:36
【问题描述】:

我正在尝试编写一些逻辑来将摄氏度转换为华氏度,当传递一个负值时,它返回NaN。不知道为什么。这是我的华氏温度偏移量:

const fahrenheitOffset = (value) => (value * 1.8) + 32;

这是我的功能:

function celsiusToFarenheit(celsiusValue) {
  return parseFloat((fahrenheitOffset(celsiusValue)).toFixed(2));
}

和另一个将其转换为字符串的函数:

function celsiusToFarenheitString(value) {
  return `${parseFloat(fahrenheitOffset(value)).toFixed(1)}°F`;
}

当我运行这些测试时,我得到 NaN 而不是 '-0.55'

    test('returns Farenheit float if Farenheit output is requested and valid reading passed', () => {
      expect(temperatureConverter(
        '-0.55',
        unitTypesEnums.FAHRENHEIT.string,
        converterReturnTypeEnums.FLOAT)
      ).toEqual(celsiusToFarenheit(parsed));
    });

    test('returns Fahrenheit string if Fahrenheit output is requested and valid reading passed in', () => {
      expect(temperatureConverter(
        '-0.55',
        unitTypesEnums.FAHRENHEIT.string,
        converterReturnTypeEnums.STRING)
      ).toEqual(celsiusToFarenheitString(parsed));
    });

【问题讨论】:

  • fahrenheitOffset 似乎没有返回任何值
  • @IsaacVidrine 带有箭头的隐含
  • 您使用什么输入进行测试?我没有看到变量 parsed 的值。
  • 我相信你的问题是,当它被称为 const fahrenheitOffset = (value) => (value * 1.8) + 32; 时,valuestring。检查那里的value 的类型是什么,并将前面的+Number() 转换为数字。
  • @mattherman 注销 fahrenheitOffset 函数中的值,如果我将其直接记录在该函数中,则会注销 72。

标签: javascript reactjs parsefloat


【解决方案1】:

我认为问题出在测试而不是 parseFloat。这个 sn-p 以每种格式记录 -67。

const fahrenheitOffset = (value) => (value * 1.8) + 32;

function celsiusToFarenheit(celsiusValue) {
  console.log(parseFloat((fahrenheitOffset(celsiusValue)).toFixed(2)));
}
function celsiusToFarenheitString(value) {
console.log(`${parseFloat(fahrenheitOffset(value)).toFixed(1)}°F`);
}

celsiusToFarenheit(-0.55)
celsiusToFarenheitString(-0.55)

【讨论】:

  • -0.55 值是华氏偏移或摄氏值。
  • 将 -55C 转换为 -67F。 google.com/…
  • 我将输入更改为 -0.55 以匹配您的测试。返回 31.01 31.0°F
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-08
  • 1970-01-01
  • 2021-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-21
相关资源
最近更新 更多