Constructor | Type | Description |
---|---|---|
new Hbar(<amount>) |
Hbar | Initializes the Hbar object |
new Hbar(<amount>)
Construct HBAR from different representations.
Method | Type | Description |
---|---|---|
Hbar.from(<hbars>) |
long / BigDecimal | Returns an Hbar whose value is equal to the specified value |
Hbar.from(<hbars, unit>) |
long / BigDecimal , HbarUnit | Returns an Hbar representing the value in the given units |
Hbar.fromString(<text>) |
CharSequence | Converts the provided string into an amount of hbars |
Hbar.fromString(<text, unit>) |
CharSequence, HbarUnit | Converts the provided string into an amount of hbars |
Hbar.fromTinybars(<tinybars>) |
long | Returns an Hbar converted from the specified number of tinybars |
{% tabs %} {% tab title="Java" %}
//10 HBAR
new Hbar(10);
//10 HBAR from hbar value
Hbar.from(10);
//100 tinybars from HBAR convert to unit
Hbar.from(100, HbarUnit.TINYBAR);
// 10 HBAR converted from string value
Hbar.fromString("10");
//100 tinybars from string value
Hbar.fromString("10", HbarUnit.TINYBAR);
//v2.0.0
{% endtab %}
{% tab title="JavaScript" %}
// 10 HBAR
new Hbar(10);
//10 HBAR
Hbar.from(10);
//100 tinybars
Hbar.from(100, HbarUnit.TINYBAR);
// 10 HBAR converted from string value
Hbar.fromString("10");
//100 tinybars from string value
Hbar.fromString("100", HbarUnit.TINYBAR);
{% endtab %}
{% tab title="Go" %}
//100 HBAR
hedera.NewHbar(10)
//100 tinybars
hedera.HbarFrom(10, hedera.HbarUnits.Tinybar)
//v2.0.0
{% endtab %} {% endtabs %}
Convert HBAR to a different unit/format.
Method | Type | Description |
---|---|---|
to(<unit>) |
HbarUnit | Specify the unit of hbar to convert to. Use As for Go. |
toString(<unit>) |
HbarUnit | String value of the hbar unit to convert to. Use String() for Go. |
toTinybars() |
Long | Hbar value converted to tinybars |
{% tabs %} {% tab title="Java" %}
//10 HBAR converted to tinybars
new Hbar(10).to(HbarUnit.TINYBAR);
//10 HBAR converted to tinybars
new Hbar(10).toString(HbarUnit.TINYBAR);
//10 HBAR converted to tinybars
new Hbar(10).toTinybars();
//v2.0.0
{% endtab %}
{% tab title="JavaScript" %}
//10 HBAR converted to tinybars
new Hbar(10).to(HbarUnit.TINYBAR);
//10 HBAR converted to tinybars
new Hbar(10).toString(HbarUnit.TINYBAR);
//10 HBAR converted to tinybars
new Hbar(10).toTinybars();
{% endtab %}
{% tab title="Go" %}
//10 HBAR converted to tinybars
hedera.NewHbar(10).As(hedera.HbarUnits.Tinybar)
//10 HBAR to string format
hedera.NewHbar(10).String()
//10 HBAR converted to tinybars
hedera.NewHbar(10).AsTinybar()
//v2.0.0
{% endtab %} {% endtabs %}
Provided constant values of HBAR.
Method | Type | Description |
---|---|---|
Hbar.MAX |
Hbar | A constant value of the maximum number of hbars (50_000_000_000 hbars) |
Hbar.MIN |
Hbar | A constant value of the minimum number of hbars (-50_000_000_000 hbars) |
Hbar.ZERO |
Hbar | A constant value of zero hbars |
{% tabs %} {% tab title="Java" %}
//The maximum number of hbars
Hbar hbarMax = Hbar.MAX;
//The minimum number of hbars
Hbar hbarMin = Hbar.MIN;
//A constant value of zero hbars
Hbar hbarZero = Hbar.ZERO;
//v2.0.0
{% endtab %}
{% tab title="JavaScript" %}
//The maximum number of hbars
const hbarMax = Hbar.MAX;
//The minimum number of hbars
const hbarMin = Hbar.MIN;
//A constant value of zero hbars
const hbarZero = Hbar.ZERO;
{% endtab %}
{% tab title="Go" %}
//The maximum number of hbars
hbarMax := hedera.MaxHbar
//The minimum number of hbars
hbarMin := hedera.MinHbar
//A constant value of zero hbars
hbarZero := hedera.ZeroHbar
//v2.0.0
{% endtab %} {% endtabs %}
Modify the HBAR representation to one of the HBAR denominations.
Function | Description |
---|---|
HbarUnit.TINYBAR |
The atomic (smallest) unit of hbar, used natively by the Hedera network |
HbarUnit.MICROBAR |
Equivalent to 100 tinybar or 1⁄1,000,000 hbar. |
HbarUnit.MILLIBAR |
Equivalent to 100,000 tinybar or 1⁄1,000 hbar |
HbarUnit.HBAR |
The base unit of hbar, equivalent to 100 million tinybar. |
HbarUnit.KILOBAR |
Equivalent to 1 thousand hbar or 100 billion tinybar.HbarUnit.Megabar |
HbarUnit.MEGABAR |
Equivalent to 1 million hbar or 100 trillion tinybar. |
HbarUnit.GIGABAR |
Equivalent to 1 billion hbar or 100 quadrillion tinybar. |
{% tabs %} {% tab title="Java" %}
//100 tinybars
Hbar.from(100, HbarUnit.TINYBAR);
//v2.0.0
{% endtab %}
{% tab title="JavaScript" %}
//100 tinybars
Hbar.from(100, HbarUnit.TINYBAR);
//v2.0.0
{% endtab %}
{% tab title="Go" %}
//100 tinybars
hedera.HbarFrom(100, hedera.HbarUnits.Tinybar)
//v2.0.0
{% endtab %} {% endtabs %}
The decimal precision of HBAR varies across the different Hedera APIs. While HAPI, JSON-RPC Relay, and Hedera Smart Contract Service (EVM) provide 8 decimal places, the msg.value
in JSON-RPC Relay provides 18 decimal places.
API | Decimal |
---|---|
Hedera API (HAPI) (Crypto + SCS Service (msg.value )) | 8 |
Hedera Smart Contract Service (EVM) | 8 |
JSON RPC Relay (passed as arguments) | 8 |
JSON RPC Relay (msg.value ) | 18 |
{% hint style="warning" %}
Note: The JSON-RPC Relay msg.value
uses 18 decimals when it returns HBAR. As a result, the gasPrice
also uses 18 decimal places since it is only utilized from the JSON-RPC Relay.
{% endhint %}