幣值顯示格式化

2021-10-18 21:59:00 字數 1161 閱讀 7475

【9-15】標準i/o庫並沒有提供一種機制,列印大整數時逗號進行分隔。在這個練習中,你需要編寫乙個程式,為美元數額的列印提供這個功能。函式把乙個數字字串(代表以美分為單位的金額)轉換為美元形式,如下面的例子所示:

下面是函式的原型:

void dollars(char *dest, char const *src);
src將指向需要被格式化的字元(你可以假定它們都是數字)。函式應該像上面例子所示的那樣對字元進行格式化,並把結果字串儲存到dest中。你應該保證你所建立的字串以乙個nul位元組結尾。src的值不應被修改。你應該使用指標而不是下標。

首先找出規律,可以看到字元長度3以下的,都只有小數點以後的位數,沒有整數部分,直接賦0即可,長度3以上的都需要考慮整數部分。

其次,整數部分每3個字元新增分隔符,所以 i%3 == 0時 即新增 「,」 。 

最後,根據**規律,當長度小於2時第一位小數為0,長度大於等於2的第一位小數就直接是src的倒數第二位; 對於最後一位小數,同樣的道理,如果長度小於1就是0,如果長度大於等於1,就取倒數第一位。

void dollars(char *dest, char const *src) 

int length = strlen(src);

*dest++ = '$';

if (length >=3)

}} else

*dest++ = '.';

*dest++ = length < 2 ? '0' : *src++;

*dest++ = length < 1 ? '0' : *src++;

*dest = nul;

}int main()

輸出:

$0.00

$0.01

$0.12

$1.23

$12.34

$123.45

$1,234.56

$12,345.67

$123,456.78

$1,234,567.89

時間的格式化顯示

時間的格式化顯示 system.datetime currenttime new system.datetime 1.1 取當前年月日時分秒 currenttime system.datetime.now 1.2 取當前年 int 年 currenttime.year 1.3 取當前月 int 月 ...

json串格式化顯示

json串直接儲存後,沒有格式的話字元連在一起,可讀性很差。下面2種方法輸出有格式的字串以便閱讀,如果用as3語言,推薦使用json.stringify帶格式化引數的方式 這個引數以前一直沒注意到 格式化json串顯示 public static function getformatjsonstrf...

jquery 格式化日期顯示

對date的擴充套件,將 date 轉化為指定格式的string 月 m 日 d 小時 h 分 m 秒 s 季度 q 可以用 1 2 個佔位符,年 y 可以用 1 4 個佔位符,毫秒 s 只能用 1 個佔位符 是 1 3 位的數字 例子 new date format yyyy mm dd hh m...