Delphi格式化函數Format、FormatDateTime和FormatFloat詳解

轉自:http://outofmemory.cn/code-snippet/7631/Delphi-format-hua-function-Format-FormatDateTime-FormatFloat-explainindetail

1.Format 根據指定所需要的格式,格式化字符串。 原型: function Format(const Format: string const Args: array of const): string 例子:

var s: string; begin //指令類型 type  s := Format('最大整數是: %d; 最小整數是: %d',[MaxInt,Low(Integer)]); //返回: 最大整數是: 2147483647; 最小整數是: -2147483648  { 提示: 格式指令必須以 % 開始, 不區分大小寫, %d 代表一個整數; 第二個參數是一個變體數組 } s := Format('最大的無負號整數是: %u',[High(Cardinal)]); //返回: 最大的無負號整數是: 4294967295  { %u表示一個無負號整數 } s := Format('輸入-2的結果是: %u',[-2]); //返回: 輸入-2的結果是: 4294967294  { 如果對應 %u 的是個負數, 則返回: 無負號整數最大值 - 這個數的絕對值 + 1 } s := Format('%s! %s',['你好','我是萬一']); //返回: 你好! 我是萬一  { %s 表示字符串 } s := Format('%f',[Pi]); //返回: Pi的值是: 3.14  { %f 表示浮點數, 保留或湊夠兩位小數點 } s := Format('%g',[01.2345000]); //返回: 1.2345  { %g 表示浮點數, 會去掉多余的 0 } s := Format('%n',[12345.6789]); //返回: 12,345.68  { %n 表示浮點數, 整數部分使用千位分隔符, 保留兩位小數點 } s := Format('%m',[12345.6789]); //返回: ¥12,345.68  { %m 表示浮點數, 加貨幣記號, 轉換結果取決于系統的地域設置 } s := Format('%e',[12345.6789]); //返回: 1.23456789000000E+004 { %e 用科學計數法表示整數或浮點數 } s := Format('%p',[@Self]); //返回: 0012F5BC { %p 表示指針地址, 用十六進制表示 } s := Format('%x',[255]); //返回: FF { %x 用十六進制表示一個整數 } //Index s := Format('%s%s',['萬','一']); s := Format('%0:s%1:s',['萬','一']); //返回: 萬一 { 上面兩行的結果是一樣的, 0: 對應數組中的第一個值; 1: 對應數組中的第二個值 } s := Format('%1:s%0:s',['萬','一']); //返回: 一萬 { 翻轉了一下順序 } s := Format('%1:s%0:s%0:s%1:s',['萬','一']); //返回: 一萬萬一 { 反復使用 } //Width 與對齊方式 s := Format('%d,%8d,%d',[1,2,3]); //返回: 1, 2,3 { 給第二個值指定了8個字符的寬度, 缺少的用空格填充; 如果指定少了則無效 } s := Format('%d,%-8d,%d',[1,2,3]); //返回: 1,2 ,3 { - 表示左對齊, 默認是右對齊的; - 符號在 Width 前面、Index 后面 } //指定精度 prec s := Format('%.9f',[Pi]); //返回: 3.141592654 { 指定小數點的位數, 取值范圍1-9, 輸入0也當1用 } s := Format('%.5d',[12]); //返回: 00012 { 這是給整數指定位數, 如果小了則無效 } s := Format('%.3s',['Format']); //返回: For { 給字符串指定位數, 如果大了則無效 } s := Format('%.3e',[123.456]); //返回: 1.23E+002 { 給科學計數法指定位數 } //指令順序: { "%" [index ":"] ["-"] [width] ["." prec] type } ShowMessage(s); end;
2. FormatFloat
2. FormatFloat 格式化浮點數 原型:
function FormatFloat(const Format: string Value: Extended): string 例子:
var s: string; begin //FormatFloat 的參數1是 String 格式指令, 參數2是實數類型 Extended  s := FormatFloat('###.###',12.3456); //返回: 12.346  s := FormatFloat('000.000',12.3456); //返回: 012.346  s := FormatFloat('#.###',12.3); //返回: 12.3  s := FormatFloat('0.000',12.3); //返回: 12.300  s := FormatFloat('#,#.#',1234567); //返回: 1,234,567  s := FormatFloat('0,0.0',1234567); //返回: 1,234,567.0  s := FormatFloat('0.00E+0',1234567); //返回: 1.23E+6  s := FormatFloat('0.00E+00',1234567); //返回: 1.23E+06  //在科學計數法中使用 # 好像不合適?  ShowMessage(s); end;

轉載于:https://www.cnblogs.com/mozzie/p/5735653.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256676.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256676.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256676.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OSPF地址匯總配置

配置過程在R1上:1. 給 Loopback 0 接口分配IP。2. 給ethernet 0/0 接口分配 IP3. 開啟OSPF路由協議,進程號為110,并宣告直連網段。在R2上:1. 給ethernet 0/0 接口分配 IP2. 開啟OSPF路由協議,進程號為110,并…

論文寫作與學術規范課堂筆記01——4.30

論文質量的判斷標準 (原創)創新性:觀點、方法、材料 寫作質量:邏輯性、語言清晰、數學數據、格式、數據可視化 論文寫作的提升路徑 模仿 經驗

requirejs學習之-- 初始化(一)

為了規范在項目中使用的javascript代碼,我們使用了requirejs框架。 初始階段,我們在按鈕的點擊事件中調用創建的模塊,代碼如下: function button_click() {_this this;var args _this["Command_Params"] || (_this.co…

ROS系統中的多個版本Boost問題

1、刪除多余的boost版本,只需要刪除該版本的libboost*庫以及Boost的頭文件,不需要使用sudo apt-get rm --pugre libboost-dev sudo apt-get armove libboost-dev;這種卸載會把很多Boost依賴的庫刪掉;想要單純的只刪除當前版本的Boost庫&#…

iOS的通知

首先,什么是通知呢,通知跟代理的功能是一樣的,都是傳值,調方法,但是我個人覺得通知比代理還是要簡便的,而且功能更強大,如果你代理弄懂了,那么通知也就非常容易理解了,我認為通知比代理書寫更容易,而且功能更強大.代理是一對一傳值,但是通知可以一對多或多對多,好了不多說了給大…

ValueStack基礎:OGNL

ValueStack基礎:OGNL 要了解ValueStack,必須先理解OGNL(Object Graphic Navigatino Language)! OGNL是Struts2中使用的一種表達式語言,它可以用于JSP的標簽庫中,以便能夠方便的訪問各種對象的屬性;它用于界…

4.H - 組合

題目連接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/H 題目大意:下面是一個二人小游戲:桌子上有M堆撲克牌;每堆牌的數量分別為Ni(i1…M);兩人輪流進行;每走一步可以任意選擇一堆并取走其中的任…

結構體指針需要申請指針內存,結構體對象不需要申請對象內存

struct frame_info { char* data;//圖像數據 int bufsize;//圖像大小 }; 1、struct frame_info* finfoDT new struct frame_info; finfoDT->data new 1280*720 2、struct frame_info finfoDT new struct frame_info; finfoDT.data new 1280*720

圖論——連通圖

Tyvj 2059 元芳看電影 描述 神探狄仁杰電影版首映這天,狄仁杰、李元芳和狄如燕去看電影。由于人實在是太多了,入場的隊伍變得十分不整齊,一個人的前面可能會出現并排的好多人。“元芳,這隊伍你怎么看?”“大人&#xf…

linux-ftools查看Linux 的cached里面有哪些內容

最近,公司有幾臺java服務器經常出現can not allocate memory 的情況。導致SSH登錄失敗。 因此,有必要做點什么。 我們可以使用linux-ftools查看Linux 的cached里面有哪些內容(工具: https://code.google.com/p/linux-ftools/)&…

matlab常用函數——軟件常用函數

一、軟件操作函數 1)命令窗口函數: clc:清空命令窗口,使用向上箭頭翻看命令。 open:打開文件,文本文件(*.doc),可執行文件(*.exe),圖形文件(*.fig),超文本文件(*.html,*.htm),MATLAB數據庫文件(*.mat),simulink模型文件*.mdl),MATLAB p文件(*.p),…

stanford corenlp的TokensRegex

最近做一些音樂類、讀物類的自然語言理解,就調研使用了下Stanford corenlp,記錄下來。 功能 Stanford Corenlp是一套自然語言分析工具集包括: POS(part of speech tagger)-標注詞性NER(named entity recognizer)-實體名識別Parser樹-分析句子…

將Linux系統下交叉編譯的依賴庫推到ARM平臺下無法建立以來關系解決

問題:平常把opencv庫使用源碼交叉編譯好之后,從windows推到飛機里發現,該庫的依賴關系都沒有了,導致程序運行的時候報該庫大小有問題 解決辦法: 1、將linux下的庫推到ARM平臺中的一個文件夾中,然后將ARM平臺…

Java:switch語句例子

1、輸入一個名次,第1~4名,分別稱為冠軍、亞軍、季軍、殿軍,5名及5名以上,稱為其他名次。 import java.util.Scanner; public class switch1 {public static void main(String[] args){Scanner snew Scanner(System.in)…

SQL計算100以內的質數(可以把100換成任意的整數)

declare i int --定義局部變量ideclare j int --定義局部變量jset i1 --給變量i賦值while i<100 --最外層while循環控制計算20以內的質數&#xff0c;每循環一次提供一個數&#xff0c;判斷它是不是質數begin --最外層while循環開始set j1 --給變量j賦…

matlab常用函數——數據類型函數

三、基本數據類型函數 1)數值函數 double:轉換為雙精度浮點數 single:轉換為單精度浮點數 typecast:在不改變數據大小情況下轉換數據類型 Y=typecast(X,type) type可選范圍:uint8、int8、uint16、int16、uint32、int32、uint64、int64、single、double arrayfun:把函數…

Courses hdu 1083(匹配)

http://acm.hdu.edu.cn/showproblem.php?pid1083 題意&#xff1a;一共有N個學生跟P門課程,一個學生可以任意選一門或多門課,問是否達成: 1.每個學生選的都是不同的課(即不能有兩個學生選同一門課) 2.每門課都有一個代表(即P門課都被成功選過) 今天學姐講匹配時講的題目&#…

進程編譯連接動態庫,需要將動態庫改為lib***.so

1、本身該庫可能編譯成npuDetect.so,但是需要改其名字為libnpuDetect.so,CMakelists才能找到該庫 2、進程中連接動態庫&#xff0c;如果該庫還依賴別的動態庫&#xff0c;則需要繼續把其他的庫也要連接進來

Drbd+Pacemaker實現高可用

What is Pacemaker? Pacemaker是一個集群資源管理器。它利用集群基礎構件&#xff08;OpenAIS 、heartbeat或corosync&#xff09;提供的消息和成員管理能力來探測并從節點或資源級別的故障中恢復&#xff0c;以實現群集服務&#xff08;亦稱資源&#xff09;的最大可用性。 前…