gpt4 book ai didi

javascript - 当与零一起使用时,Replace() 产生 "Uncaught TypeError: undefined is not a function"

转载 作者:行者123 更新时间:2023-12-03 10:26:19 25 4
gpt4 key购买 nike

我从 MongoDb 获取数字,通过使用 replace() 方法删除任何空格或逗号(如果存在),将它们解析为我的格式。虽然这在一段时间内工作得很好,但我发现当值为零时它会产生以下错误

Uncaught TypeError: undefined is not a function

包含所质疑方法的代码 fragment 如下:

function Query_Member_points_credits_summaryExecute() 
{
var Balance = Apperyio.storage.MS_Member_Points_Credits_Summary.get("$['Balance']");
var balance = parseFloat(Balance.replace(',', '').replace(' ', ''));
console.log("balance " + balance);
var threshold = parseFloat(50000);
console.log("threshold " + threshold);
}

第二行引起的错误。

调查尝试:

  1. 我用以下内容替换了该行:
    A。 var Balance = parseFloat(Balance.replace(',', ''));
    b. var Balance = parseFloat(Balance.replace(' ', ''));
    C。 var Balance = Balance.replace(',', '').replace(' ', '');

  2. 只有此方法适用于 balance = 0:
    varbalance = parseFloat(Balance);

  3. 使用零以外的数字,包括 0.000001,它工作正常

我很困惑可能是什么原因

最佳答案

我首先建议,之后:

var Balance = Apperyio.storage.MS_Member_Points_Credits_Summary.get("$['Balance']");

放入一些调试代码来告诉您Balance实际上是什么,例如:

alert(typeof(Balance));

从您的错误消息来看,它可能是未定义。如果是这种情况,那么您将需要找出为什么 appery.io 为您提供未定义的零值。

如果它不是未定义,那么它可能是某种奇怪的类型(即不是字符串),可能会影响replace调用的管​​道。

如果appery.io为您提供了一个表示零的number类型和一个表示非零的string类型(根据您的评论) ,快速修复可能类似于:

// Ensure number made string before replace.
var balance = parseFloat((""+Balance).replace(',', '').replace(' ', ''));

然后我会联系他们,询问这是否是他们的错误。

关于javascript - 当与零一起使用时,Replace() 产生 "Uncaught TypeError: undefined is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29382993/

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