回答
既然你不想QLocale也許你可以做一個簡單的轉換(與QString的::號碼,例如),然後再把更換所需的字符。
很可怕的,但得到了這份工作做
double doubleNumber = 5234556.3545;
int precision = 2;
QString stringNumber = QString::number(doubleNumber, 'f', precision);
for(int point = 0, i = (stringNumber.lastIndexOf('.') == -1 ? stringNumber.length() : stringNumber.lastIndexOf('.')); i > 0; --i, ++point)
{
if(point != 0 && point % 3 == 0)
{
stringNumber.insert(i, ',');
}
}
Qt不支持自定義語言環境。但是,面對的只有組和小數點字符很簡單:
BTW,spbots'問題不無關係。有關目標的更多細節總是有所幫助,它可能會導致不同的方法,可能會更好地爲您服務。
這裏是你如何做到這一點只使用的std :: LIB(無QT)。定義您自己的numpunct派生類,它可以指定小數點,分組字符,甚至是分組之間的間距。使用包含您的方面的區域設置ostringstream。根據需要在該ostringstream上設置標誌。輸出到它並從中獲取字符串。
#include <locale>
#include <sstream>
#include <iostream>
class my_punct
: public std::numpunct<char>
{
protected:
virtual char do_decimal_point() const {return ',';}
virtual char do_thousands_sep() const {return '.';}
virtual std::string do_grouping() const {return std::string("\2\3");}
};
int main()
{
std::ostringstream os;
os.imbue(std::locale(os.getloc(), new my_punct));
os.precision(2);
fixed(os);
double x = 123456789.12;
os << x;
std::string s = os.str();
std::cout << s << '\n';
}
1.234.567.89,12
爲QML用戶:
function thousandSeparator(input){
return input.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
}
儘管這段代碼可能有助於解決問題,但 提供了關於_why_和/或_how_的其他上下文,回答這個問題將顯着提高其長期價值。請[編輯]你的答案,添加一些 的解釋。 –
答案對我來說是完全適合的。謝謝! – rsp1984
- 1. Fortran小數點和千位分隔符
- 2. 小數千分隔符和小數點
- 3. 千分隔符自定義位置
- 4. RDLC自定義千位分隔符?
- 5. 修改小數點和千位分隔符不改變小數
- 6. Jquery驗證和掩碼爲小數點和千位分隔符
- 7. 驗證小數用小數點分隔符和千個分隔符
- 8. 如何設置千位分隔符的小數點後兩位?
- 9. 如何爲mdx查詢指定千位和小數分隔符?
- 10. TemplateField小數位數和千位分隔符
- 11. 千位分隔符與數據綁定
- 12. 更改綁定中的默認千位和小數點分隔符
- 13. 帶有千位分隔符和強制小數位的String.Format小數位
- 14. 如何設置自定義千位分隔符?
- 15. 添加千位分隔符,自動(SWIFT)
- 16. 千位分隔符在Python
- 17. QSpinBox千位分隔符
- 18. 千位分隔符printf
- 19. 添加千位分隔符
- 20. 格式千位分隔符
- 21. Apache poi - 千位分隔符
- 22. MYSQL - 千位分隔符
- 23. 千位分隔符剃刀MVC和JS
- 24. 在輸入類型編號中添加千位和小數點分隔符
- 25. 使用逗號作爲小數點分隔符和無千位分隔符的格式
- 26. 千位分隔符的數字格式
- 27. AngularJS:貨幣格式。更改分數大小,千分位分隔符和分數分隔符
- 28. 如果用戶自定義小數點分隔符
- 29. 如何指定由GWT的NumberFormat使用的千位和小數分隔符
- 30. 指定自定義千位分隔符是獨立於文化的
我不禁問 - 爲什麼有必要使用自定義分隔符?你是否解析一個列表並被迫使用小數(或句號)作爲分隔符? – spbots
由於它是數學應用程序客戶端需要選項來指定自定義小數點和千位分隔符字符。爲什麼這些不相關的問題...... –