FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
circuitpython/tests/float/string_format_modulo.py at main · ams1/circuitpython · GitHub
ams1
circuitpython
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
circuitpython
/
tests
/
float
/
string_format_modulo.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
52 lines (43 loc) · 1.51 KB
Breadcrumbs
circuitpython
/
tests
/
float
/
string_format_modulo.py
Copy path
File metadata and controls
52 lines (43 loc) · 1.51 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
print
(
"%s"
%
1.0
)
print
(
"%r"
%
1.0
)
print
(
"%d"
%
1.0
)
print
(
"%i"
%
1.0
)
print
(
"%u"
%
1.0
)
# these 3 have different behaviour in Python 3.x versions
# uPy raises a TypeError, following Python 3.5 (earlier versions don't)
# print("%x" % 18.0)
# print("%o" % 18.0)
# print("%X" % 18.0)
print
(
"%e"
%
1.23456
)
print
(
"%E"
%
1.23456
)
print
(
"%f"
%
1.23456
)
print
(
"%F"
%
1.23456
)
print
(
"%g"
%
1.23456
)
print
(
"%G"
%
1.23456
)
print
(
"%06e"
%
float
(
"inf"
))
print
(
"%06e"
%
float
(
"-inf"
))
print
(
"%06e"
%
float
(
"nan"
))
print
(
"%02.3d"
%
123
)
# prec > width
print
(
"%+f %+f"
%
(
1.23
,
-
1.23
))
# float sign
print
(
"% f % f"
%
(
1.23
,
-
1.23
))
# float space sign
print
(
"%0f"
%
-
1.23
)
# negative number with 0 padding
# numbers with large negative exponents
print
(
"%f"
%
1e-10
)
print
(
"%f"
%
1e-20
)
print
(
"%f"
%
1e-50
)
print
(
"%f"
%
1e-100
)
print
(
"%f"
%
1e-300
)
# large decimal precision should be truncated and not overflow buffer
# the output depends on the FP calculation so only first 2 digits are printed
# (the 'g' with small e are printed using 'f' style, so need to be checked)
print
((
"%.40f"
%
1e-300
)[:
2
])
print
((
"%.40g"
%
1e-1
)[:
2
])
print
((
"%.40g"
%
1e-2
)[:
2
])
print
((
"%.40g"
%
1e-3
)[:
2
])
# Under Appveyor Release builds, 1e-4 was being formatted as 9.99999...e-5
# instead of 0.0001. (Interestingly, it formatted correctly for the Debug
# build). Avoid the edge case.
print
((
"%.40g"
%
1.1e-4
)[:
2
])
print
(
"%.0g"
%
1
)
# 0 precision 'g'
print
(
"%.1e"
%
9.99
)
# round up with positive exponent
print
(
"%.1e"
%
0.999
)
# round up with negative exponent
Back
|
FazBrowse Home
|
New Git URL