قسمة عددين بدون قيمة تقريبية
#1
كيف اجري العملية برقمين وراء الفاصلة و بدون قيمة تقريبية
ولكم جزيل الشكـــر


الملفات المرفقة
.rar   format-float.rar (الحجم : 4.48 ك ب / التحميلات : 40)
الرد
#2
السلام عليكم.
إستخدم (formatfloat(' # ### ###.##',a/b
بدلا من ( formatfloat('#,##0.00',a/b
الرد
#3
اشكرك اخي الكريم hakimrahal هل من الممكن كتابة رقمين وراء الفاصلة فقط 0.99 بدل 0,997752808988764
الرد
#4
http://delphi4arab.net/forum/showthread.php?tid=7818
الرد
#5
نفس المشكل و ارجو منكم الحل في نفس المثال المرفق
الرد
#6
جرب هذه الدالة:
ما تقوم به هو تحويل القيمة الى string ثم بدئ عملية المعالجة بترك فقط رقمين بعد الفاصلة ثم اعادة تحولها الى قيمة...

التعديل سهل على الدالة اذا كان عندك نوع مخرجات اخرى...

PHP كود :
function FormatWithoutRoundIt(Val: Extended): Extended;
var
  
strVal, strVal2: string;
begin
  strVal 
:= FloatToStr(Val);

  if 
Pos('.', strVal) <> 0 then
    strVal2 
:= copy(strVal, 0, Pos('.', strVal) + 2)
  else
    
strVal2 := strVal;

  
result := StrToFloat(strVal2);
end; 

طريقة استعمالها:
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1
.text := FloatToStr(12356/81);
  
Edit2.text := FloatToStr(FormatWithoutRoundIt(12356/81));
  
Edit3.text := FloatToStr(FormatWithoutRoundIt(0.997752808988764));
  
Edit4.text := FloatToStr(FormatWithoutRoundIt(0.947752808988764));
  
Edit5.text := FloatToStr(FormatWithoutRoundIt(150.012345678));
end 
الرد
#7
السلام عليكم.... إستخدم هذا الكود:
كود :
medit2.text:=floattostr(int(a/b)+int(frac(a/b)*100)/100);
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم