mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-02 17:26:44 +03:00
Increased precision of floating-point to decimal conversions when the
floating point value has no fractional part. [forum:/forumpost/d1387c3979c7f557|Forum post d1387c3979c7f557] FossilOrigin-Name: 18de3a8e6b431a075143631eafdcf0e1b1a21868b417394c365d46d2feca10b5
This commit is contained in:
@ -3786,4 +3786,39 @@ do_execsql_test printf-16.1 {
|
||||
SELECT printf('%.*g',2147483647,0.01);
|
||||
} {0.01}
|
||||
|
||||
# 2023-02-23 https://sqlite.org/forum/forumpost/d1387c3979c7f557
|
||||
# Loss of precision when doing floating-point to decimal
|
||||
# conversions on values that have no factional part.
|
||||
#
|
||||
do_execsql_test printf-17.1 {
|
||||
SELECT format('%!.20g', 13.0);
|
||||
} 13.0
|
||||
do_execsql_test printf-17.2 {
|
||||
SELECT format('%.3e', 199990000.0);
|
||||
} 2.000e+08
|
||||
do_execsql_test printf-17.3 {
|
||||
SELECT format('%.3f', 199990000.0);
|
||||
} 199990000.000
|
||||
do_execsql_test printf-17.4 {
|
||||
SELECT format('%.3g', 199990000.0);
|
||||
} 2e+08
|
||||
do_execsql_test printf-17.5 {
|
||||
SELECT format('%.4e', 199990000.0);
|
||||
} 1.9999e+08
|
||||
do_execsql_test printf-17.6 {
|
||||
SELECT format('%.4f', 199990000.0);
|
||||
} 199990000.0000
|
||||
do_execsql_test printf-17.7 {
|
||||
SELECT format('%.4g', 199990000.0);
|
||||
} 2e+08
|
||||
do_execsql_test printf-17.8 {
|
||||
SELECT format('%.5e', 199990000.0);
|
||||
} 1.99990e+08
|
||||
do_execsql_test printf-17.9 {
|
||||
SELECT format('%.5f', 199990000.0);
|
||||
} 199990000.00000
|
||||
do_execsql_test printf-17.10 {
|
||||
SELECT format('%.5g', 199990000.0);
|
||||
} 1.9999e+08
|
||||
|
||||
finish_test
|
||||
|
Reference in New Issue
Block a user