線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2348
推到 Plurk!
推到 Facebook!

運算式........

答題得分者是:ddy
kenji
一般會員


發表:32
回覆:44
積分:20
註冊:2002-08-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-18 15:29:49 IP:61.217.xxx.xxx 未訂閱
我要如何除到小數點後第二位,再將其四捨五入至小數點後一位..........
turboted
版主


發表:95
回覆:754
積分:452
註冊:2002-07-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-18 18:17:07 IP:61.216.xxx.xxx 未訂閱
不知道您用的是什麼語法 ,在C 裏..除有分求商和求餘兩種 我想在C 裏,你只要用求餘的方法,再做運算就行了
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-08-18 18:45:18 IP:61.59.xxx.xxx 未訂閱
function MyRound(iValue:Double; UnderZero:integer):string;
Var
    m:double;
    n:double;
begin
    n:= exp(ln(10) * UnderZero); //小數點下的位數
    m:=round(ivalue *n);
    m:=m / n;
    Result :=FormatFloat('####.############',m);
end;
參考看看 Round 是將其小數四捨五入後化成整數 故n 值就是先把小數點移至要被四捨五入的地方 例如小數點下二位,就是n=100,underzero=2 ( 10的2次方) 最後四捨五入完了,再除回n值即可 例: self.Caption :=MyRound(12.9351,0); //為13 self.Caption :=MyRound(12.9351,1); //為12.9 self.Caption :=MyRound(12.9351,2); //為12.94 self.Caption :=MyRound(12.9351,3); //為12.935 self.Caption :=MyRound(12.9351,4); //為12.9351 可修改符合你所需要的 噓~~~~~~沉思中… 發表人 - ddy 於 2002/08/18 18:53:01
kenji
一般會員


發表:32
回覆:44
積分:20
註冊:2002-08-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-08-19 00:43:30 IP:61.217.xxx.xxx 未訂閱
可是我不是要用10為底數去除丫~~ 例如:99除以7 我是要類似這種的耶~~~~~
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-08-19 01:55:45 IP:61.59.xxx.xxx 未訂閱
引言: 可是我不是要用10為底數去除丫~~ 例如:99除以7 我是要類似這種的耶~~~~~
kenji 小姐,沒看清楚就誤會我啦… 請看清楚程式碼 都說了n值是用來移動小數點位置,以利round 四捨五入之便
self.Caption :=MyRound(99/7,2); //為14.14
99/7 之後的2 代表取至小數點下二位 噓~~~~~~沉思中… 發表人 - ddy 於 2002/08/19 01:58:03
kenji
一般會員


發表:32
回覆:44
積分:20
註冊:2002-08-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-08-20 16:26:29 IP:61.225.xxx.xxx 未訂閱
哈哈~~~對哦~~~~~不好意思哦!~~~ 謝謝你讓我完成了這個部份.....thx
系統時間:2024-05-16 1:39:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!