我需要從double值指定要打印的字符串的確切長度,但我不想限制輸出超出必要。C:通過printf()打印時,雙精度可以多長時間()
當用printf()格式化時,一個6位精確雙精度的最大長度是多少?
具體而言,我應該給printf("%X.6lg",doubleValue);
中的X賦予什麼值以確保沒有值會被截斷?
我需要詳細說明長度的原因是我定義了一個MPI派生數據類型,它由大量的double值的字符串表示組成,並且必須知道它們的確切長度以便在MPI之間劃分文件區域流程。
我希望這很清楚。預先感謝您的回答。
我不確定你在問什麼 - 你想要所有的值都是6位有效數字,比如0.123456,1.23456,12345.6等?或者你只關心小數部分是6位有效數字?至於小數值,我不知道如何避免截斷,除非你的值是「二進制的」(即以二進制結尾)並且小於或等於63/64ths。 – 2009-06-19 00:00:25