1
0
mirror of https://github.com/tw93/Mole.git synced 2026-03-22 17:55:08 +00:00
Files
Mole/test_rounding.sh
2026-02-28 11:03:16 +08:00

18 lines
595 B
Bash
Executable File

bytes_to_human_new() {
local bytes="$1"
if ((bytes >= 1000000000)); then
local scaled=$(( (bytes * 100 + 500000000) / 1000000000 ))
printf "%d.%02dGB\n" $((scaled / 100)) $((scaled % 100))
elif ((bytes >= 1000000)); then
local scaled=$(( (bytes * 10 + 500000) / 1000000 ))
printf "%d.%01dMB\n" $((scaled / 10)) $((scaled % 10))
elif ((bytes >= 1000)); then
printf "%dKB\n" $(((bytes + 500) / 1000))
else
printf "%dB\n" "$bytes"
fi
}
bytes_to_human_new 12187977120
bytes_to_human_new 12999000000
bytes_to_human_new 36281810