【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...