public static final class Decimal.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder> implements DecimalOrBuilder
A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's [BigDecimal][] or Python's [decimal.Decimal][]. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.org/3/library/decimal.htmlProtobuf type
google.type.Decimal| Modifier and Type | Method and Description |
|---|---|
Decimal.Builder |
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
Decimal |
build() |
Decimal |
buildPartial() |
Decimal.Builder |
clear() |
Decimal.Builder |
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) |
Decimal.Builder |
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) |
Decimal.Builder |
clearValue()
The decimal value, as a string.
|
Decimal.Builder |
clone() |
Decimal |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Descriptors.Descriptor |
getDescriptorForType() |
String |
getValue()
The decimal value, as a string.
|
com.google.protobuf.ByteString |
getValueBytes()
The decimal value, as a string.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
Decimal.Builder |
mergeFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
Decimal.Builder |
mergeFrom(Decimal other) |
Decimal.Builder |
mergeFrom(com.google.protobuf.Message other) |
Decimal.Builder |
mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
Decimal.Builder |
setField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
Decimal.Builder |
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
int index,
Object value) |
Decimal.Builder |
setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
Decimal.Builder |
setValue(String value)
The decimal value, as a string.
|
Decimal.Builder |
setValueBytes(com.google.protobuf.ByteString value)
The decimal value, as a string.
|
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringaddAll, addAll, mergeFrom, newUninitializedMessageExceptionequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitpublic static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder>public Decimal.Builder clear()
clear in interface com.google.protobuf.Message.Builderclear in interface com.google.protobuf.MessageLite.Builderclear in class com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder>public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
getDescriptorForType in interface com.google.protobuf.Message.BuildergetDescriptorForType in interface com.google.protobuf.MessageOrBuildergetDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder>public Decimal getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderpublic Decimal build()
build in interface com.google.protobuf.Message.Builderbuild in interface com.google.protobuf.MessageLite.Builderpublic Decimal buildPartial()
buildPartial in interface com.google.protobuf.Message.BuilderbuildPartial in interface com.google.protobuf.MessageLite.Builderpublic Decimal.Builder clone()
clone in interface com.google.protobuf.Message.Builderclone in interface com.google.protobuf.MessageLite.Builderclone in class com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder>public Decimal.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
setField in interface com.google.protobuf.Message.BuildersetField in class com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder>public Decimal.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
clearField in interface com.google.protobuf.Message.BuilderclearField in class com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder>public Decimal.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
clearOneof in interface com.google.protobuf.Message.BuilderclearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder>public Decimal.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
setRepeatedField in interface com.google.protobuf.Message.BuildersetRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder>public Decimal.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
addRepeatedField in interface com.google.protobuf.Message.BuilderaddRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder>public Decimal.Builder mergeFrom(com.google.protobuf.Message other)
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<Decimal.Builder>public Decimal.Builder mergeFrom(Decimal other)
public final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder>public Decimal.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in interface com.google.protobuf.MessageLite.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<Decimal.Builder>IOExceptionpublic String getValue()
The decimal value, as a string.
The string representation consists of an optional sign, `+` (`U+002B`)
or `-` (`U+002D`), followed by a sequence of zero or more decimal digits
("the integer"), optionally followed by a fraction, optionally followed
by an exponent.
The fraction consists of a decimal point followed by zero or more decimal
digits. The string must contain at least one digit in either the integer
or the fraction. The number formed by the sign, the integer and the
fraction is referred to as the significand.
The exponent consists of the character `e` (`U+0065`) or `E` (`U+0045`)
followed by one or more decimal digits.
Services **should** normalize decimal values before storing them by:
- Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`).
- Replacing a zero-length integer value with `0` (`.5` -> `0.5`).
- Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`).
- Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`).
Services **may** perform additional normalization based on its own needs
and the internal decimal implementation selected, such as shifting the
decimal point and exponent value together (example: `2.5e-1` <-> `0.25`).
Additionally, services **may** preserve trailing zeroes in the fraction
to indicate increased precision, but are not required to do so.
Note that only the `.` character is supported to divide the integer
and the fraction; `,` **should not** be supported regardless of locale.
Additionally, thousand separators **should not** be supported. If a
service does support them, values **must** be normalized.
The ENBF grammar is:
DecimalString =
[Sign] Significand [Exponent];
Sign = '+' | '-';
Significand =
Digits ['.'] [Digits] | [Digits] '.' Digits;
Exponent = ('e' | 'E') [Sign] Digits;
Digits = { '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' };
Services **should** clearly document the range of supported values, the
maximum supported precision (total number of digits), and, if applicable,
the scale (number of digits after the decimal point), as well as how it
behaves when receiving out-of-bounds values.
Services **may** choose to accept values passed as input even when the
value has a higher precision or scale than the service supports, and
**should** round the value to fit the supported scale. Alternatively, the
service **may** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC)
if precision would be lost.
Services **should** error with `400 Bad Request` (`INVALID_ARGUMENT` in
gRPC) if the service receives a value outside of the supported range.
string value = 1;getValue in interface DecimalOrBuilderpublic com.google.protobuf.ByteString getValueBytes()
The decimal value, as a string.
The string representation consists of an optional sign, `+` (`U+002B`)
or `-` (`U+002D`), followed by a sequence of zero or more decimal digits
("the integer"), optionally followed by a fraction, optionally followed
by an exponent.
The fraction consists of a decimal point followed by zero or more decimal
digits. The string must contain at least one digit in either the integer
or the fraction. The number formed by the sign, the integer and the
fraction is referred to as the significand.
The exponent consists of the character `e` (`U+0065`) or `E` (`U+0045`)
followed by one or more decimal digits.
Services **should** normalize decimal values before storing them by:
- Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`).
- Replacing a zero-length integer value with `0` (`.5` -> `0.5`).
- Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`).
- Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`).
Services **may** perform additional normalization based on its own needs
and the internal decimal implementation selected, such as shifting the
decimal point and exponent value together (example: `2.5e-1` <-> `0.25`).
Additionally, services **may** preserve trailing zeroes in the fraction
to indicate increased precision, but are not required to do so.
Note that only the `.` character is supported to divide the integer
and the fraction; `,` **should not** be supported regardless of locale.
Additionally, thousand separators **should not** be supported. If a
service does support them, values **must** be normalized.
The ENBF grammar is:
DecimalString =
[Sign] Significand [Exponent];
Sign = '+' | '-';
Significand =
Digits ['.'] [Digits] | [Digits] '.' Digits;
Exponent = ('e' | 'E') [Sign] Digits;
Digits = { '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' };
Services **should** clearly document the range of supported values, the
maximum supported precision (total number of digits), and, if applicable,
the scale (number of digits after the decimal point), as well as how it
behaves when receiving out-of-bounds values.
Services **may** choose to accept values passed as input even when the
value has a higher precision or scale than the service supports, and
**should** round the value to fit the supported scale. Alternatively, the
service **may** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC)
if precision would be lost.
Services **should** error with `400 Bad Request` (`INVALID_ARGUMENT` in
gRPC) if the service receives a value outside of the supported range.
string value = 1;getValueBytes in interface DecimalOrBuilderpublic Decimal.Builder setValue(String value)
The decimal value, as a string.
The string representation consists of an optional sign, `+` (`U+002B`)
or `-` (`U+002D`), followed by a sequence of zero or more decimal digits
("the integer"), optionally followed by a fraction, optionally followed
by an exponent.
The fraction consists of a decimal point followed by zero or more decimal
digits. The string must contain at least one digit in either the integer
or the fraction. The number formed by the sign, the integer and the
fraction is referred to as the significand.
The exponent consists of the character `e` (`U+0065`) or `E` (`U+0045`)
followed by one or more decimal digits.
Services **should** normalize decimal values before storing them by:
- Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`).
- Replacing a zero-length integer value with `0` (`.5` -> `0.5`).
- Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`).
- Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`).
Services **may** perform additional normalization based on its own needs
and the internal decimal implementation selected, such as shifting the
decimal point and exponent value together (example: `2.5e-1` <-> `0.25`).
Additionally, services **may** preserve trailing zeroes in the fraction
to indicate increased precision, but are not required to do so.
Note that only the `.` character is supported to divide the integer
and the fraction; `,` **should not** be supported regardless of locale.
Additionally, thousand separators **should not** be supported. If a
service does support them, values **must** be normalized.
The ENBF grammar is:
DecimalString =
[Sign] Significand [Exponent];
Sign = '+' | '-';
Significand =
Digits ['.'] [Digits] | [Digits] '.' Digits;
Exponent = ('e' | 'E') [Sign] Digits;
Digits = { '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' };
Services **should** clearly document the range of supported values, the
maximum supported precision (total number of digits), and, if applicable,
the scale (number of digits after the decimal point), as well as how it
behaves when receiving out-of-bounds values.
Services **may** choose to accept values passed as input even when the
value has a higher precision or scale than the service supports, and
**should** round the value to fit the supported scale. Alternatively, the
service **may** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC)
if precision would be lost.
Services **should** error with `400 Bad Request` (`INVALID_ARGUMENT` in
gRPC) if the service receives a value outside of the supported range.
string value = 1;value - The value to set.public Decimal.Builder clearValue()
The decimal value, as a string.
The string representation consists of an optional sign, `+` (`U+002B`)
or `-` (`U+002D`), followed by a sequence of zero or more decimal digits
("the integer"), optionally followed by a fraction, optionally followed
by an exponent.
The fraction consists of a decimal point followed by zero or more decimal
digits. The string must contain at least one digit in either the integer
or the fraction. The number formed by the sign, the integer and the
fraction is referred to as the significand.
The exponent consists of the character `e` (`U+0065`) or `E` (`U+0045`)
followed by one or more decimal digits.
Services **should** normalize decimal values before storing them by:
- Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`).
- Replacing a zero-length integer value with `0` (`.5` -> `0.5`).
- Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`).
- Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`).
Services **may** perform additional normalization based on its own needs
and the internal decimal implementation selected, such as shifting the
decimal point and exponent value together (example: `2.5e-1` <-> `0.25`).
Additionally, services **may** preserve trailing zeroes in the fraction
to indicate increased precision, but are not required to do so.
Note that only the `.` character is supported to divide the integer
and the fraction; `,` **should not** be supported regardless of locale.
Additionally, thousand separators **should not** be supported. If a
service does support them, values **must** be normalized.
The ENBF grammar is:
DecimalString =
[Sign] Significand [Exponent];
Sign = '+' | '-';
Significand =
Digits ['.'] [Digits] | [Digits] '.' Digits;
Exponent = ('e' | 'E') [Sign] Digits;
Digits = { '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' };
Services **should** clearly document the range of supported values, the
maximum supported precision (total number of digits), and, if applicable,
the scale (number of digits after the decimal point), as well as how it
behaves when receiving out-of-bounds values.
Services **may** choose to accept values passed as input even when the
value has a higher precision or scale than the service supports, and
**should** round the value to fit the supported scale. Alternatively, the
service **may** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC)
if precision would be lost.
Services **should** error with `400 Bad Request` (`INVALID_ARGUMENT` in
gRPC) if the service receives a value outside of the supported range.
string value = 1;public Decimal.Builder setValueBytes(com.google.protobuf.ByteString value)
The decimal value, as a string.
The string representation consists of an optional sign, `+` (`U+002B`)
or `-` (`U+002D`), followed by a sequence of zero or more decimal digits
("the integer"), optionally followed by a fraction, optionally followed
by an exponent.
The fraction consists of a decimal point followed by zero or more decimal
digits. The string must contain at least one digit in either the integer
or the fraction. The number formed by the sign, the integer and the
fraction is referred to as the significand.
The exponent consists of the character `e` (`U+0065`) or `E` (`U+0045`)
followed by one or more decimal digits.
Services **should** normalize decimal values before storing them by:
- Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`).
- Replacing a zero-length integer value with `0` (`.5` -> `0.5`).
- Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`).
- Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`).
Services **may** perform additional normalization based on its own needs
and the internal decimal implementation selected, such as shifting the
decimal point and exponent value together (example: `2.5e-1` <-> `0.25`).
Additionally, services **may** preserve trailing zeroes in the fraction
to indicate increased precision, but are not required to do so.
Note that only the `.` character is supported to divide the integer
and the fraction; `,` **should not** be supported regardless of locale.
Additionally, thousand separators **should not** be supported. If a
service does support them, values **must** be normalized.
The ENBF grammar is:
DecimalString =
[Sign] Significand [Exponent];
Sign = '+' | '-';
Significand =
Digits ['.'] [Digits] | [Digits] '.' Digits;
Exponent = ('e' | 'E') [Sign] Digits;
Digits = { '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' };
Services **should** clearly document the range of supported values, the
maximum supported precision (total number of digits), and, if applicable,
the scale (number of digits after the decimal point), as well as how it
behaves when receiving out-of-bounds values.
Services **may** choose to accept values passed as input even when the
value has a higher precision or scale than the service supports, and
**should** round the value to fit the supported scale. Alternatively, the
service **may** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC)
if precision would be lost.
Services **should** error with `400 Bad Request` (`INVALID_ARGUMENT` in
gRPC) if the service receives a value outside of the supported range.
string value = 1;value - The bytes for value to set.public final Decimal.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
setUnknownFields in interface com.google.protobuf.Message.BuildersetUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder>public final Decimal.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
mergeUnknownFields in interface com.google.protobuf.Message.BuildermergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Decimal.Builder>Copyright © 2022 Google LLC. All rights reserved.