1樓:網友
在輸出時加:
write(x:0:8)
程仔喊序會自動將第九位四捨五入進第八位。(遊族x是變念磨野量)
2樓:巧克力蛋黃月餅
這個題目不需要高手!
只基空要將這個數x,放大8位然後4舍5入即可叢州。
具體是int(x*100000000+
解釋:其中int(x)是取整函式。
int(x+就是對小數點後1位進行4舍5入。
例如:x=,int(x+
若x=則,int(x+
int(x*10+就是對小數點後2位進行4舍5入。
int(x*100+就是對小數點後3位進行4舍5入。
餘類推!4舍5入後除以放大的數即可還原原滲鋒蔽來的數。
3樓:網友
這麼複雜的方法你也想得出,公升肢如掘寬果輸出real型數a,直接writeln(a:0:8),就是保留所有整數位,保判笑亮留8位小數,樓上的方法還會超變數的。
4樓:網友
簡單,如輸出a(real型)
writeln(a:8:8)就行了。
求 1-1/2+1/3-1/4+1/5-1/6+……+1/99-1/100的值,要求保留小數點後面三位(pascal
5樓:陽光上的橋
程式態冊戚帆陵如下:
var s:real; i,j:integer;
begins:=0;
j:=1;for i:=1 to 100 dobegins:=s+j/i;
j:=j*-1;
end;writeln(s:0:3);
end.輸出結果為姿喚:
pascal,如何判斷小數點後有沒有數?
6樓:網友
這個就是利用判別式來做咯。
判定乙個數是不是整數,像樓上那樣是不行的,因為浮點運算會有誤差。所以,要用abs(tmp-trunc(tmp))<=1e10來判斷,就是說乙個數減去它的整數部分,如果剩下的小於或等於乙個趨近0的數,那麼就說它是整數。1e10就是10的-10次方。
下面的程式是我直接在這上面打的,所以有什麼小錯誤,請樓主自己改一下。
vara,b,c,data:longint;
tmp:double;
first:=boolean;
beginwhile not eof do begin
readln(a,b,c);
data=sqr(b)-4*a*c;
first:=true;
if data<0 then writeln('no integer root') else begin
tmp:=(-b+sqrt(data))/(2*a);
if abs(tmp-trunc(tmp))<=1e10 then begin
first:=false;
write(tmp);
end;tmp:=(-b-sqrt(data)/(2*a);
if abs(tmp-trunc(tmp))<=1e10 then begin
if not first then write(' ');
first:=false;
write(tmp);
end;if first then write('no integer root');
writeln;
end;end;
end.
pascal實型輸出小數點後幾位是怎麼寫的啊
7樓:網友
1、pascal中的輸出語句為writeln和write,格式如下:
write(輸出向量表);
writeln(輸出向量表);
2、要限定輸出時乙個數值常量、變數的位數,需要通過場寬來進行。實型場寬的使用方法為: writeln(s:num1:num2);
其中s為實型變數或常量,num1為整個陣列所佔的位寬,即整數部分+小數部分+小數點佔用的位寬,若指定的num1小於輸出所需的最小位寬,則將s左對齊完整輸出。而num2就是要指定的小數位數。
若需瞭解更多write和writeln的用法, 可參考官方文件rtl部分,system單元中對於write和writeln的描述。
8樓:網友
writeln(a:5:3);
可以保留三位小數。
9樓:最萌_天使
var a:real;
begina:=;
writeln(a:0:4);
end.輸出為:
其中4就是後4位。
帶小數點的數如何進行進位轉換 pascal
10樓:網友
十進位數轉換為二進位數、八進位數、十六進位數的方法:
二進位數、八進位數、十六進位數轉換為十進位數的方法:按權求和法。
1.二進位與十進位間的相互轉換:
1)二進位轉十進位。
方法:「按權求和」
例: (1×23+0×22+1×21+1×20+0×2-1+1×2-2 )10
規律:個位上的數字的次數是0,十位上的數字的次數是1,..依獎遞增,而十。
分位的數字的次數是-1,百分位上數字的次數是-2,..依次遞減。
注意:不是任何乙個十進位小數都能轉換成有限位的二進位數。
2)十進位轉二進位。
十進位整數轉二進位數:「除以2取餘,逆序排列」(短除反取餘法)
例: (89)10 =(1011001)2
十進位小數轉二進位數:「乘以2取整,順序排列」(乘2取整法)
例: (0.625)10= (0.101)2
x 2x 2x 2
2.八進位與二進位的轉換:
二進位數轉換成八進位數:從小數點開始,整數部分向左、小數部分向右,每3位為一組用一位八進位數的數字表示,不足3位的要用「0」補足3位,就得到乙個八進位數。
八進位數轉換成二進位數:把每乙個八進位數轉換成3位的二進位數,就得到乙個二進位數。
例:將八進位的轉換成二進位數:
即:( 例:將二進位的 轉換成八進位:
即:( 3.十六進位與二進位的轉換:
二進位數轉換成十六進位數:從小數點開始,整數部分向左、小數部分向右,每4位為一組用一位十六進位數的數字表示,不足4位的要用「0」補足4位,就得到乙個十六進位數。
十六進位數轉換成二進位數:把每乙個八進位數轉換成4位的二進位數,就得到乙個二進位數。
例:將十六進位數 轉換成二進位:
5 d f . 9
即:( 例:將二進位數 轉換成十六進位:
6 1 . e
即:( 注意:以上所說的二進位數均是無符號的數。這些數的範圍如下表:
無符號位二進位數位數 數值範圍 十六進位範圍表示法。
8位二進位數 0~255 (255=28-1) 00~0ffh
16位二進位數 0~65535 (65535=216-1) 0000h~0ffffh
32位二進位數 0~232-1 00000000h~0ffffffffh
11樓:網友
轉幾進位乘幾再取整接著繼續乘。
誰能給我pascal語言中所有保留字的意思
12樓:jackson王子
我頂,free pascal 的保留字跟它差不多。
如何vb取小數點後一位的值,vb保留小數點後2位怎麼編寫?
先將小數轉換成文字,再查小數點的位置,然後用right函式就行了 dim s as string x 1123.3123 s right format x,1 msgbox 第一位小數為,s 方法1 先取10倍後小數,再取整,再與10求餘數,得到小數點後一位 dim a as double a 3....
4936512小數點後保留兩位小數那個5要不要進
要進一,採用四捨五入法,保留兩位小數,看第三位小數,如果是0 1 2 3 4,後面的數全部捨去,如果是5 6 7 8 9,向前一位進一,後面的數全部捨去。49.36512小數點後保留兩位小數是49.37 要的根據四捨五入的規則,大於等於5的都要進1 四捨五入,在保留小數點的時候,小於5的要約去,大於...
高中物理保留小數點後兩位有效數字怎樣理解
不算從第乙個不是0的開始 所以就是0.0013 有效數字的定義是,從第乙個不是0的數算起的,後面的都是有效數字,所以你問的是兩個有效數字 是0不算 0.12是兩位 0.012也兩位 但是開頭不為0 如1.02這就是三位 小數保留幾位有效數字怎麼保留?小數點後保留兩位小數合保留兩位有效數字有什麼區別?...