React计算器无法在小数点后添加零的问题求助
修复React计算器小数点后无法输入零的问题
你的代码逻辑存在问题:当前判断条件是只要Calc.num包含小数点,就直接保留原数值,这会导致小数点后无论输入什么数字(包括零)都无法添加。要解决这个问题,需要调整判断逻辑,允许在小数点后输入任意数字,同时避免重复添加小数点。
修复后的代码如下:
const value = e.target.value; setCalc({ ...Calc, num: value === "." ? !Calc.num.toString().includes(".") ? Calc.num + value : Calc.num : Calc.num + value });
逻辑说明:
- 当输入的是小数点(
.)时:检查当前数值是否已经包含小数点,没有则添加,有则忽略(避免重复加点)。 - 当输入的是其他数字(包括零)时:直接追加到当前数值后面,不管是否已经有小数点。
这样修改后,既保留了防止重复添加小数点的功能,又能正常在小数点后输入零和其他数字。
内容的提问来源于stack exchange,提问作者Dushyant Pant
相关产品推荐
相关产品推荐

