strconv: minor cleanup in f64_to_str_lnd1() (#13804)

pull/13808/head
yuyi 2022-03-23 02:15:59 +08:00 committed by GitHub
parent 0337882240
commit e3dca82f9c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 29 additions and 22 deletions

View File

@ -158,29 +158,36 @@ pub fn f64_to_str_lnd1(f f64, dec_digit int) string {
// get sign and decimal parts // get sign and decimal parts
for c in s { for c in s {
if c == `-` { match c {
sgn = -1 `-` {
i++ sgn = -1
} else if c == `+` { i++
sgn = 1 }
i++ `+` {
} else if c >= `0` && c <= `9` { sgn = 1
b[i1] = c i++
i1++ }
i++ `0`...`9` {
} else if c == `.` { b[i1] = c
if sgn > 0 { i1++
d_pos = i i++
} else { }
d_pos = i - 1 `.` {
if sgn > 0 {
d_pos = i
} else {
d_pos = i - 1
}
i++
}
`e` {
i++
break
}
else {
s.free()
return '[Float conversion error!!]'
} }
i++
} else if c == `e` {
i++
break
} else {
s.free()
return '[Float conversion error!!]'
} }
} }
b[i1] = 0 b[i1] = 0