gpt4 book ai didi

javascript - 需要帮助理解为什么我在计算虚数时得到非数字输出

转载 作者:行者123 更新时间:2023-11-30 14:31:42 36 4
gpt4 key购买 nike

function ImaginaryNumbers(realNum, imaginary) {
this.realNum = 0;
this.imaginary = 0;
this.realNum = (typeof realNum === 'undefined') ? this.realNum : parseFloat(realNum);
this.imaginary = (typeof imaginary === 'undefined') ? this.imaginary : parseFloat(imaginary);
}

ImaginaryNumbers.transform = function(num) {
var imaginaryNumbers;
imaginaryNumbers = (num instanceof ImaginaryNumbers) ? num : imaginaryNumbers;
imaginaryNumbers = (typeof num === 'number') ? new ImaginaryNumbers(num, 0) : num;
return imaginaryNumbers;
};

function display_complex(re, im) {
if(im === '0') return '' + re;
if(re === 0) return '' + im + 'i';
if(im < 0) return '' + re + im + 'i';
return '' + re + '+' + im + 'i';
}

function addingComplexNumbers(first, second, third, fourth) {
var num1;
var num2;
num1 = ImaginaryNumbers.transform(document.getElementById("firstComplexNumber").value);
num2 = ImaginaryNumbers.transform(document.getElementById("secondComplexNumber").value);
num3 = ImaginaryNumbers.transform(document.getElementById("thirdComplexNumber").value);
num4 = ImaginaryNumbers.transform(document.getElementById("fourthComplexNumber").value);
var realNum = num1.realNum + num2.realNum + num3.realNum + num4.realNum;
var imaginary = num1.imaginary + num2.imaginary + num3.imaginary + num4.imaginary;
return document.getElementById("result8").innerHTML = display_complex(realNum, imaginary);
}

我尝试让用户输入,但我一直得到 NaN + NaNi 作为以下结果。我不确定是什么问题。任何帮助将不胜感激。

最佳答案

您不是从 Input 获取数字值而是字符串值,因此请使用 parseInt获取输入的整数。

当前是:

num1 = ImaginaryNumbers.transform(document.getElementById("firstComplexNumber").value);
num2 = ImaginaryNumbers.transform(document.getElementById("secondComplexNumber").value);
num3 = ImaginaryNumbers.transform(document.getElementById("thirdComplexNumber").value);
num4 = ImaginaryNumbers.transform(document.getElementById("fourthComplexNumber").value);

更改为:

num1 = ImaginaryNumbers.transform(parseInt(document.getElementById("firstComplexNumber").value));
num2 = ImaginaryNumbers.transform(parseInt(document.getElementById("secondComplexNumber").value));
num3 = ImaginaryNumbers.transform(parseInt(document.getElementById("thirdComplexNumber").value));
num4 = ImaginaryNumbers.transform(parseInt(document.getElementById("fourthComplexNumber").value));

关于javascript - 需要帮助理解为什么我在计算虚数时得到非数字输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51058272/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com