public sealed class Money : IMessage<Money>, IEquatable<Money>, IDeepCloneable<Money>, IBufferMessage, IMessage
Represents an amount of money with its currency type.
Namespace
Google.Type
Assembly
Google.Api.CommonProtos.dll
Constructors
Money()
Money(Money)
public Money(Money other)
Parameter |
Name |
Description |
other |
Money
|
Fields
CurrencyCodeFieldNumber
public const int CurrencyCodeFieldNumber = 1
Field number for the "currency_code" field.
Field Value |
Type |
Description |
int |
|
NanosFieldNumber
public const int NanosFieldNumber = 3
Field number for the "nanos" field.
Field Value |
Type |
Description |
int |
|
UnitsFieldNumber
public const int UnitsFieldNumber = 2
Field number for the "units" field.
Field Value |
Type |
Description |
int |
|
Properties
CurrencyCode
public string CurrencyCode { get; set; }
The three-letter currency code defined in ISO 4217.
Property Value |
Type |
Description |
string |
|
DecimalValue
public decimal DecimalValue { get; set; }
The amount of money in decimal format. This is an abstraction of the Units and Nanos properties.
Getting this property combines those property values, and setting this property will set both of those properties.
Property Value |
Type |
Description |
decimal |
|
Exceptions |
Type |
Description |
ArgumentOutOfRangeException |
The integral part of the decimal must be a valid long, and the fractional part must have a maximum of 9 digits of precision.
|
Descriptor
public static MessageDescriptor Descriptor { get; }
Nanos
public int Nanos { get; set; }
Number of nano (10^-9) units of the amount.
The value must be between -999,999,999 and +999,999,999 inclusive.
If units
is positive, nanos
must be positive or zero.
If units
is zero, nanos
can be positive, zero, or negative.
If units
is negative, nanos
must be negative or zero.
For example $-1.75 is represented as units
=-1 and nanos
=-750,000,000.
Property Value |
Type |
Description |
int |
|
Parser
public static MessageParser<Money> Parser { get; }
Units
public long Units { get; set; }
The whole units of the amount.
For example if currencyCode
is "USD"
, then 1 unit is one US dollar.
Property Value |
Type |
Description |
long |
|
Methods
CalculateSize()
public int CalculateSize()
Calculates the size of this message in Protocol Buffer wire format, in bytes.
Returns |
Type |
Description |
int |
The number of bytes required to write this message
to a coded output stream.
|
Clone()
Creates a deep clone of this object.
Returns |
Type |
Description |
Money |
A deep clone of this object.
|
Equals(Money)
public bool Equals(Money other)
Parameter |
Name |
Description |
other |
Money
|
Returns |
Type |
Description |
bool |
|
Equals(object)
public override bool Equals(object other)
Parameter |
Name |
Description |
other |
object
|
Returns |
Type |
Description |
bool |
|
Overrides
GetHashCode()
public override int GetHashCode()
Returns |
Type |
Description |
int |
|
Overrides
public void MergeFrom(CodedInputStream input)
Merges the data from the specified coded input stream with the current message.
Remarks
MergeFrom(Money)
public void MergeFrom(Money other)
Merges the given message into this one.
Parameter |
Name |
Description |
other |
Money
|
Remarks
ToString()
public override string ToString()
Returns |
Type |
Description |
string |
|
Overrides
WriteTo(CodedOutputStream)
public void WriteTo(CodedOutputStream output)
Writes the data to the given coded output stream.
Parameter |
Name |
Description |
output |
CodedOutputStream
Coded output stream to write the data to. Must not be null.
|