Increase String::num default decimal precision
Fixes #34541 Renamed MAX_DIGITS to MAX_DECIMALS, since it only changes the amount of digits after the decimal point. Increased MAX_DECIMALS to 32, and made String::num use MAX_DECIMALS consistently. If -1 is passed as decimal precision to String::num, it now gets changed to the correct precision based on the number's magnitude, instead of using printf default(which is 6) String::num_real also calculates the correct precision now. Also made the types used in floating-point math more consistent in a few places.
This commit is contained in:
committed by
Aaron Franke
parent
b63f9b5961
commit
09a905ca80
@ -27,9 +27,12 @@
|
||||
</argument>
|
||||
<argument index="2" name="sort_keys" type="bool" default="false">
|
||||
</argument>
|
||||
<argument index="3" name="full_precision" type="bool" default="false">
|
||||
</argument>
|
||||
<description>
|
||||
Converts a [Variant] var to JSON text and returns the result. Useful for serializing data to store or send over the network.
|
||||
[b]Note:[/b] The JSON specification does not define integer or float types, but only a [i]number[/i] type. Therefore, converting a Variant to JSON text will convert all numerical values to [float] types.
|
||||
[b]Note:[/b] If [code]full_precision[/code] is true, when printing floats, the unreliable digits are printed in addition to the reliable digits to guarantee exact decoding.
|
||||
Use [code]indent[/code] parameter to pretty print the output.
|
||||
[b]Example output:[/b]
|
||||
[codeblock]
|
||||
|
||||
Reference in New Issue
Block a user