데이터베이스 테이블에서 일부 열 데이터를 선택하고 소수 자릿수 2 자리로만이 데이터를 만들어야합니다. 나는 이것이 무엇델파이에서 소수 2 자리를 유지하는 방법?
SQL.Strings = ('select' #9'my_index '#9'his_index,'...
참조 # 9인가?
소수점 두 자리 만 유지하도록 선택한 데이터를 어떻게 처리 할 수 있습니까?
저는 델파이를 매우 신습니다.
감사!
데이터베이스 테이블에서 일부 열 데이터를 선택하고 소수 자릿수 2 자리로만이 데이터를 만들어야합니다. 나는 이것이 무엇델파이에서 소수 2 자리를 유지하는 방법?
SQL.Strings = ('select' #9'my_index '#9'his_index,'...
참조 # 9인가?
소수점 두 자리 만 유지하도록 선택한 데이터를 어떻게 처리 할 수 있습니까?
저는 델파이를 매우 신습니다.
감사!
#9
은 코드 9, TAB가있는 문자입니다.
부동 소수점 값을 소수점 2 자리의 문자열로 변환하려면 형식 지정 함수 중 하나를 사용하십시오. Format()
:
var
d: Double;
s: string;
...
d := Sqrt(2.0);
s := Format('%.2f', [d]);
확실한 구문 오류를 수정하십시오. –
#9
는 탭 문자이다.
f
이 부동 소수점 변수 인 경우 FormatFloat('#.##', f)
을 입력하면 f
의 문자열 표현을 2 자리 이하로 얻을 수 있습니다.
14 초 늦었습니다! –
@David : PDE을 해결하면서 SO에 충분한주의를 기울이지 않았습니다 ... –
오 ... 당신은 서로 경쟁합니다! 둘 다 주셔서 감사합니다! – spspli
내부 부동 소수점 형식 루틴은 단순한 숫자 일> 당신은 모두 고정 점에서 제대로 작동하고 과학적 표기법으로 < 1 값 범용 소수점 제한에 대한 더 복잡한 무언가를 할 필요가
1.
나는 자리, 그래서이 루틴function TForm1.Flt2str(Avalue:double; ADigits:integer):string;
var v:double; p:integer; e:string;
begin
if abs(Avalue)<1 then
begin
result:=floatTostr(Avalue);
p:=pos('E',result);
if p>0 then
begin
e:=copy(result,p,length(result));
setlength(result,p-1);
v:=RoundTo(StrToFloat(result),-Adigits);
result:=FloatToStr(v)+e;
end else
result:=FloatToStr(RoundTo(Avalue,-Adigits));
end
else
result:=FloatToStr(RoundTo(Avalue,-Adigits));
end;
을 사용 = 2, 1.23 및 1.2349E-17 라운드에 1.2349 원에 1.23E-17
RoundingUserDefineDecaimalPart
라는 기능을 사용합니다. 예컨대위한
:
avg := RoundingUserDefineDecaimalPart(avg, 2);
이 마법의 기능을 발견 한 곳과 작동 방법을 설명 할 수 있습니까? –
https://stackoverflow.com/a/47566361/8319246 – amytrajghimire
이 나를 위해 작동합니다
Function RoundingUserDefineDecaimalPart(FloatNum: Double; NoOfDecPart: integer): Double;
Var
ls_FloatNumber: String;
Begin
ls_FloatNumber := FloatToStr(FloatNum);
IF Pos('.', ls_FloatNumber) > 0 Then
Result := StrToFloat
(copy(ls_FloatNumber, 1, Pos('.', ls_FloatNumber) - 1) + '.' + copy
(ls_FloatNumber, Pos('.', ls_FloatNumber) + 1, NoOfDecPart))
Else
Result := FloatNum;
End;
데이터베이스에 어떤 데이터 유형입니까? 델파이에서 가지고있는 필드 유형은 무엇입니까? 데이터를 문자열로 필요로하거나 소수점 이하 두 자리 만 올림하는 숫자 유형으로 필요합니까? –