004 美化多位數字

2022-05-27 04:57:07 字數 1517 閱讀 2558

將給定的數字以逗號分隔的形式顯示出來

**:

#!/bin/bash

# filename: nicenum.

sh# 可接受兩個選項:dd(

decimal

pointa,小數分隔符)

# 和td(thousands delimiter,千位分隔符)

#nicenumber()

$decimal"fi

thousands=$int

while [ $thousands -gt 999 ]; do

# 對整數進行求餘,以判斷3個最低有效數字

remainder=$(($thousands%1000

))

while [ $ -lt 3 ]; do

# 加入前導數字0

remainder="

0$remainder

"done

# 從右到左構建最終結果

result="

$$$result

"# 對1000求商,移除3個最低有效數字

thousands=$((thousands/1000

))

done

nicenum="$$"

if [ ! -z $2 ]; then

echo

$nicenum

fi} dd="."

td=","

# main

# 解析傳入引數 d,t

while getopts "

d:t:

" opt; do

case $opt in

d) dd="

$optarg

";;

t) td="

$optarg";;

esac

done

shift $(($optind - 1

))

if [ $# -eq 0 ]; then

echo

"usage: $(basename $0) [-d c] [-t c] numeric_value

"echo

"-d specifies the decimal point delimiter (default '.')

"echo

"-t specifies the thousands delimiter (default ',')

"exit 0fi

# 第二個引數強制nicenumber函式回顯輸出

nicenumber $11

exit

0

基本思路:

1、找出整數部分和小數部分

2、小數部分加上小數分隔符並儲存待用

3、對大於1000的整數進行求餘得出最低3個位數,注意餘數不足3位需補0

4、再將大於1000的整數除於1000移除3個最低位有效數字

5、迴圈3-4步得出美化數字

6、可通過getopts自定義小數分隔符和千位分隔符

view code

多位數乘法計算

option base 1 private sub command1 click dim m as string dim n as string m trim text1.text n trim text2.text dim number1 as byte dim number2 as byte r...

彙編 多位數相加

上一次彙編寫到,只是個位數的簡單相加,只需要判斷兩者相加有無進製,進製即進一,在輸出視窗輸出一先。遇到多位數後,會變複雜很多,事實上彙編裡面可以實現相加,難題在於需要把和轉成ascii碼顯示在dos視窗。所以需要把和乙個乙個數提取,轉成ascii。程式如下 datas segment op1 dw ...

文字,多位數字,混合排序

有個需求,要匯入系統中的班級,進行排序,班級為文字型別,因為有的班級是1,2,3之類,有的是天河班,白雲班,如果只是簡單地 order by classname,輸出的將會是 1,11,12,13,2,3.白雲,天河 要解決多位數字的排序,可以使用 order by classname 1 因為這個...