用戶輸入如下所示的double值:2423242.6789。我能做些什麼只掃描2423242?如何截斷小數點後的值
回答
假設一個正數,使用floor()
#include <math.h>
double x;
scanf("%lf", &x);
x = floor(x);
// or
x = x < 0.0 ? ceil(x) : floor(x); // to cope with + and - doubles
感謝您的回答。它仍然不起作用 – Cailou 2014-09-29 01:57:03
@Cailou發佈你的1)代碼2)輸入3)看到的輸出和4)期望的輸出。 – chux 2014-09-29 01:58:45
double jdn; 的printf( 「輸入JDN大於2299160: 」; 的scanf(「 %F」,&jdn); LC = JDN + 68569; NC =((4 * LC)/ 146097); LC =液相色譜 - ((146097 ((*)* nc + 3)/ 4); ic =((4000 *(lc + 1))/ 1461001); lc = lc-((1461 * ic)/ 4)+31; jc = (2447 * jc)/ 80); lc =(jc/11); 正如您所見,只需計算小數點前的值即可。 – Cailou 2014-09-29 02:04:24
一種方法是使用一個整數說明符,例如
unsigned long long x;
if (1 != scanf("%llu", &x))
// error handling...
然而,這會導致不確定的行爲,如果輸入沒有融入x
。
更可靠的方法是將字符讀入緩衝區(例如,通過fgets
),然後使用strtoul
轉換爲整數。
感謝您的輸入。我以前沒見過這些東西。一定會研究它們。 – Cailou 2014-09-29 02:16:35
- 1. 在android中的小數點後截斷值
- 2. 如何截斷小數前的數字?
- 3. toString和valueOf截斷小數點後的0 0
- 4. NSString - 截斷小數點後的所有內容
- 5. 如何截斷3號位小數
- 6. 產生截斷到小數點後2位
- 7. Mysql的截斷小數
- 8. 如何截斷小數點在mysql中列
- 9. 如何獲得小數點後的值?
- 10. 在最大值後截斷數據集
- 11. 小數點後的截斷數...通過java中的內置函數
- 12. 如何截斷CGFloat值?
- 13. 如何截斷double值?
- 14. getopts的截斷參數值
- 15. jQuery.POST截斷「數據」值?
- 16. PHP如何截斷數組
- 17. 如何在不捨入的情況下截斷小數位數?
- 18. 如何截斷大於指定值的值的numpy數組?
- 19. 小枝的調試截斷數組?
- 20. 如何將小數點後兩位到小數點後n位?
- 21. 在mysql查詢後PHP值被截斷
- 22. 如何在ColdFusion中將數字截斷爲2個小數位?
- 23. 如何截斷Asp.Net中的小數部分MVC3
- 24. com.mysql.jdbc.MysqlDataTruncation:數據截斷:截斷不正確DOUBLE值:'q'
- 25. 如何計算截斷和近似值?
- 26. 十進制字符串格式截斷零留給小數點
- 27. Java日期計算在結果處截斷小數點
- 28. 如何截斷wp_rss
- 29. 截斷雙精度到2位小數?
- 30. 截斷對象數組中的值javascript
爲什麼不只是讀取float然後轉換爲int? – cegfault 2014-09-29 01:01:52
我試過(int)x,它似乎不起作用 – Cailou 2014-09-29 01:56:46
「它似乎不工作」是什麼意思?你做了什麼,你期望的結果是什麼?結果是什麼,演員如何不能達到這些期望? – 2014-09-29 02:25:01