Hedera
Search
K

HBAR

Constructor
Type
Description
new Hbar(<amount>)
Hbar
Initializes the Hbar object
new Hbar(<amount>)

HBAR from:

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
Java
JavaScript
Go
//100 HBAR
new Hbar(100);
//100 HBAR from hbar value
Hbar.from(100);
//100 tinybars from HBAR convert to unit
Hbar.from(100, HbarUnit.TINYBAR);
// 100 HBAR converted from string value
Hbar.fromString("100");
//100 tinybars from string value
Hbar.fromString("100", HbarUnit.TINYBAR);
//v2.0.0
// 100 HBAR
new Hbar(100);
//100 HBAR
Hbar.from(100);
//100 tinybars
Hbar.from(100, HbarUnit.TINYBAR);
// 100 HBAR converted from string value
Hbar.fromString("100");
//100 tinybars from string value
Hbar.fromString("100", HbarUnit.TINYBAR);
//100 HBAR
hedera.NewHbar(100)
//100 tinybars
hedera.HbarFrom(100, hedera.HbarUnits.Tinybar)
//v2.0.0

HBAR to:

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
Java
JavaScript
Go
//100 HBAR converted to tinybars
new Hbar(100).to(HbarUnit.TINYBAR);
//100 HBAR converted to tinybars
new Hbar(100).toString(HbarUnit.TINYBAR);
//100 HBAR converted to tinybars
new Hbar(100).toTinybars();
//v2.0.0
//100 HBAR converted to tinybars
new Hbar(100).to(HbarUnit.TINYBAR);
//100 HBAR converted to tinybars
new Hbar(100).toString(HbarUnit.TINYBAR);
//100 HBAR converted to tinybars
new Hbar(100).toTinybars();
//100 HBAR converted to tinybars
hedera.NewHbar(100).As(hedera.HbarUnits.Tinybar)
//100 HBAR to string format
hedera.NewHbar(100).String()
//100 HBAR converted to tinybars
hedera.NewHbar(100).AsTinybar()
//v2.0.0

HBAR constants:

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
Java
JavaScript
Go
//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
//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;
//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

HBAR units

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.
Java
JavaScript
Go
//100 tinybars
Hbar.from(100, HbarUnit.TINYBAR);
//v2.0.0
//100 tinybars
Hbar.from(100, HbarUnit.TINYBAR);
//v2.0.0
//100 tinybars
hedera.HbarFrom(100, hedera.HbarUnits.Tinybar)
//v2.0.0

HBAR decimal places

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
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.