如何指定小數點位數及四捨五入 |
尚未結案
|
TsannTay
一般會員 發表:20 回覆:34 積分:10 註冊:2003-04-10 發送簡訊給我 |
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
|
Royce520
高階會員 發表:18 回覆:157 積分:100 註冊:2002-09-13 發送簡訊給我 |
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
|
brook
資深會員 發表:57 回覆:323 積分:371 註冊:2002-07-12 發送簡訊給我 |
|
TsannTay
一般會員 發表:20 回覆:34 積分:10 註冊:2003-04-10 發送簡訊給我 |
引言: 還有一招 用 FloatToStrF 直接將浮點數格式化輸出成字串格式也很酷喔 說明如下: >,原始程式如下所示。 >DefaultExt = "txt">FileName = "*.txt"; if (OpenDialog1->Execute()) { file_name=OpenDialog1->FileName; s=file_name.c_str(); fp=fopen(s,"r"); } while(!feof(fp)) { fscanf(fp,"%f",&value); temp=FloatToStrF(value,ffFixed,5,3); RichEdit1->Text=RichEdit1->Text temp " "; } fclose(fp); } |
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
|
TsannTay
一般會員 發表:20 回覆:34 積分:10 註冊:2003-04-10 發送簡訊給我 |
引言: TsannTay 你的需求是什麼呢,依小弟的經驗 BCB 可以精確到小數以下 15 位,手上沒有你的 TXT 檔資料所以無法幫你測試喔! %%%%%%%%%%%%%%%%%% China Join,你好: 我的目的是將資料讀取做數值分析, 但所讀取的與原始的資料不一, 使我的程式在演算後有些許的誤差, 至於顯示於視窗的部份已經解決了. 這個問題不知各位先進有何見解? 原始資料為 2.81 11.76 12.09 12.58 12.93 12.23 10.59 10.51 10.5 11.03 11.23 11.04 9.67 10.41 9.59 4.33 4.57 3.93 %%%%%%%%%%%%%%%%%%%% |
Royce520
高階會員 發表:18 回覆:157 積分:100 註冊:2002-09-13 發送簡訊給我 |
|
TsannTay
一般會員 發表:20 回覆:34 積分:10 註冊:2003-04-10 發送簡訊給我 |
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
|
Royce520
高階會員 發表:18 回覆:157 積分:100 註冊:2002-09-13 發送簡訊給我 |
TsannTay,
我測試過你的程式了, 沒有什麼問題啊, 我現在不懂你的問題了
你所謂的 "所讀的數值仍無法與輸出值相同" 是什麼意思呢?
我程式跑出來的結果是 2.810 11.760 12.090 12.580 12.930 12.230 10.590 10.510 10.500 11.030 11.230 11.040 9.670 10.410 9.590 4.330 4.570 3.930 你說明一下 哪不合理好了 *真實的事物最美, 簡單的道理最好, 我能體會的 太少*
------
不要忘記呼吸,不要忘記編程! ∩__∩ |
TsannTay
一般會員 發表:20 回覆:34 積分:10 註冊:2003-04-10 發送簡訊給我 |
引言: TsannTay, 我測試過你的程式了, 沒有什麼問題啊, 我現在不懂你的問題了 你所謂的 "所讀的數值仍無法與輸出值相同" 是什麼意思呢? 我程式跑出來的結果是 2.810 11.760 12.090 12.580 12.930 12.230 10.590 10.510 10.500 11.030 11.230 11.040 9.670 10.410 9.590 4.330 4.570 3.930 你說明一下 哪不合理好了 *真實的事物最美, 簡單的道理最好, 我能體會的 太少* **************************** >>>>>>< face="Verdana, Arial, Helvetica"> |
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
|
Royce520
高階會員 發表:18 回覆:157 積分:100 註冊:2002-09-13 發送簡訊給我 |
TsannTay 你好,
終於清楚你的問題了, 其實這是bcb 在轉輸出的字串時的小問題,
其實不該會影響到你的計算結果, 只是顯示上 看起來不舒服罷了 我將你的程式碼改成如下, 就沒你說的哪的問題了
{
>DefaultExt = "txt">FileName = "*.txt";
if (OpenDialog1->Execute())
{
file_name=OpenDialog1->FileName;
s=file_name.c_str();
fp=fopen(s,"r");
}
double fXfer;
while(!feof(fp))
{
fscanf(fp,"%f",&value);
char vXfer[64]; // 1
sprintf(vXfer, "%g", value); // 2
RichEdit1->Text=RichEdit1->Text vXfer " "; // 3
}
fclose(fp);
} *真實的事物最美, 簡單的道理最好, 我能體會的 太少*
------
不要忘記呼吸,不要忘記編程! ∩__∩ |
TsannTay
一般會員 發表:20 回覆:34 積分:10 註冊:2003-04-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |