npm 包 @ethersproject/units 使用教程

阅读时长 5 分钟读完

在以太坊和其他支持区块链技术的应用中,数字货币和其他资产都是以最小单位作为计量单位的。这些最小单位难以被人类理解和记忆,比如以太币的最小单位叫做 wei。因此,以太坊开发者社区已经定义了一些工具包来对这些单位进行转换。其中一个流行的工具包是 @ethersproject/units

本文将会解释如何使用 @ethersproject/units 包来进行数字货币单位转换,并提供有意义的示例代码来帮助加深理解。

安装

在使用 @ethersproject/units 包之前,我们需要先在我们的项目中安装它。可以通过 npm 命令来完成安装:

接下来,在你的 TypeScript 或 JavaScript 代码中,你需要引入这个包:

记住,你需要在你的代码中使用 require 函数来引入这个包。

使用

@ethersproject/units 包通过 formatUnitsparseUnits 两个函数来处理单位转换。

  • formatUnits 函数将一个以最小单位为输入的数字转换为其他单位表示方式。
  • parseUnits 函数将一个以其他单位为输入的数字转换为最小单位。

具体来说,formatUnits(value, decimals) 函数接受两个参数:

  1. value 参数表示原始数值,以最小单位来表示。比如,在以太坊中,1 ETH 被表示为 1000000000000000000(10 的 18 次方)个 wei。
  2. decimals 参数表示你需要将 value 转换到哪个单位上。比如,如果你希望将以上的 1 ETH 转换为 ETH,则 decimals 参数的值应当为 18。

parseUnits(value, decimals) 函数接受两个参数:

  1. value 参数表示原始数值,以其他单位来表示。
  2. decimals 参数表示 value 以哪个单位来表示。

注意,decimals 参数必须是数字类型。如果 decimals 不是数字类型,parseUnits 函数就会抛出一个异常。

示例代码

通过一个简单的示例,我们可以更好地理解 @ethersproject/units 包的使用方法。

-- -------------------- ---- -------
----- - ------------ ---------- - - --------------------------------

-- ------------ ------- - - -- ------------------------
----- --------- - --

-- -- ----------- ---------- --- ----- ------------------ --- ---- ------
----- ----------- - --------------------------------- -----------
------------------------- -- -- -------------------

-- -- ---------- ------ ---- ------ ------------------- ------- --- ------
----- ---------- - --------------------------------- -----------
------------------------ -- -- ------------------

-- ----------------------------------
----- ---------- - --------------------------------- ----
------------------------ -- -- --------------------

----- ---------------- - ----------------------- -----------
------------------------------ -- -- -------------------

在这个示例中,我们定义了 GWEI_UNIT 常量,它表示我们选择的数字单位是 GWei。为了进行转换,我们使用了 formatUnitsparseUnits 函数。可以看到,我们通过这些函数能够轻松地将不同单位之间的数字转换成我们需要的形式。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedc1cab5cbfe1ea0611f19

纠错
反馈