高精度运算导入@arkts.math.Decimal后创建Decimal对象在HarmonyOS 鸿蒙Next中报错

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

高精度运算导入@arkts.math.Decimal后创建Decimal对象在HarmonyOS 鸿蒙Next中报错

代码片段如下:

import Decimal from ‘@arkts.math.Decimal’;
public add(v1:number,v2:number):number{
let b1:Decimal = new Decimal(v1); //此处报错 [ArkRuntime Log] TypeError: Constructor is false
let b2:Decimal = new Decimal(v2);
return b1.add(b2).toNumber();
}

参考文档地址 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/reference/apis-arkts/js-apis-arkts-decimal.md#decimalconfig

请各位大佬解惑

6 回复

开发IDE: DevEco Studio 5.0.0 Release

SDK: HarmonyOS 5.0.0 Release SDK,基于OpenHarmony SDK Ohos_sdk_public 5.0.0.71 (API Version 12 Release)

这个是SDK版本,看一下About DevEco Studio版本号是多少

等等,你是不是用的IDE的Previewer,很多接口Previewer都不支持的,可以用模拟器

cke_178.png 已经是最新版本的IDE了

cke_2428.png

cke_2852.png

求大佬们解惑

我运行是正常的,你的IDE版本是多少,建议升级到最新版

import Decimal from '@arkts.math.Decimal';

function add(v1:number,v2:number):number{ let b1:Decimal = new Decimal(v1); let b2:Decimal = new Decimal(v2); return b1.add(b2).toNumber(); }<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

在HarmonyOS鸿蒙Next系统中进行高精度运算时,如果导入@arkts.math.Decimal后创建Decimal对象时遇到报错,可能是由于以下几个原因:

  1. 依赖库未正确导入:确保@arkts.math.Decimal库已经正确添加到项目的依赖中。检查build.gradlepackage.json文件,确认依赖版本与HarmonyOS鸿蒙Next系统兼容。

  2. 命名空间或包名错误:确认@arkts.math.Decimal的命名空间或包名无误,有时可能因为版本更新导致包路径变更。

  3. 系统API限制:HarmonyOS可能对某些API或库的使用有特定限制,特别是在预览版或特定版本中。查阅最新的HarmonyOS开发文档,确认Decimal类的使用是否符合系统要求。

  4. 编译环境问题:清理并重新构建项目,有时编译缓存可能导致意外的错误。

  5. 代码错误:检查创建Decimal对象的代码是否有语法错误或类型不匹配问题。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部