簡體   English   中英

將double轉換並格式化為QString

[英]converting and formatting double to QString

我試圖在QString中添加一個double,使得12.34顯示為012.34 所以,如果我有這兩個變量:

double num = 12.34;
QString str = "literal ";

我想將數字附加到字符串,因此它導致literal 012.34

編輯:格式需要是xxx.xx,即小數點前三位,后面兩位,總是。 這是一種要求。 我可以簡單地在數字之前附加零,然后我需要檢查數字是否小於100; 我不認為這是最好的方式,我可能是錯的。

我正在模擬某種氣候室。 雙數表示溫度結果在-40和150之間變化。我將構造的字符串寫入串行設備,而另一個設備上的程序將期望此格式對其執行某些操作。 我是Qt的新手,也不是很擅長C ++,有點像我這樣學習。

QString{ "literal %1" }.arg( 12.34, 6, 'g', -1, '0' )
// Returns "literal 012.34"

這將始終為您提供至少6個字符的輸出(5位數加上小數點,或6位數)。 或者:

QString{ "literal %1" }.arg( 12.34, 6, 'f', 2, '0' )
// Returns "literal 012.34"

總是會給你至少6個字符的輸出,小數點后總是兩位數。

注意支持的構造函數調用需要C ++ 11或更高版本,如果您不能使用該版本的標准,請切換到使用括號。

UPDATE

我建議你這個讀。

QString zeroString( "0" );
QString( "literal %1%2" ).arg( zeroString ).arg( 12.34, 0, 'f', 2 );

但是您應該指定添加zeroString的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM