الفرق بين الرياضيات.الكلمة() والرياضيات.اقتطاع()

StackOverflow https://stackoverflow.com/questions/14

  •  08-06-2019
  •  | 
  •  

سؤال

ما هو الفرق بين Math.Floor() و Math.Truncate() في .الشبكة ؟

لا يوجد حل صحيح

نصائح أخرى

Math.Floor جولات أسفل ، Math.Ceiling جولات ، Math.Truncate جولات نحو الصفر.وهكذا ، Math.Truncate مثل Math.Floor عن أرقام إيجابية ، مثل Math.Ceiling للأرقام السالبة.هنا المرجعية.

للتأكد من اكتمالها ، Math.Round جولات إلى أقرب عدد صحيح.إذا كان الرقم بالضبط في منتصف المسافة بين عددين ، ثم جولات في اتجاه واحد حتى. المرجعية.

انظر أيضا: باكس ديابلو الجواب.موصى به للغاية!

اتبع الروابط MSDN أوصاف:

  • Math.Floor, التي جولات أسفل نحو السلبية ما لا نهاية.
  • Math.Ceiling, التي جولات إيجابية نحو اللانهاية.
  • Math.Truncate, التي جولات لأعلى أو لأسفل نحو الصفر.
  • Math.Round, التي جولات إلى أقرب عدد صحيح أو عدد محدد من المنازل العشرية.يمكنك تحديد السلوك إذا كان بالضبط على مسافة واحدة بين احتمالين ، مثل التقريب حتى أن الرقم النهائي حتى ("Round(2.5,MidpointRounding.ToEven)"أصبحت 2) أو أنه أبعد من صفر ("Round(2.5,MidpointRounding.AwayFromZero)"أصبحت 3).

الرسم البياني التالي والجدول قد تساعد:

-3        -2        -1         0         1         2         3
 +--|------+---------+----|----+--|------+----|----+-------|-+
    a                     b       c           d            e

                       a=-2.7  b=-0.5  c=0.3  d=1.5  e=2.8
                       ======  ======  =====  =====  =====
Floor                    -3      -1      0      1      2
Ceiling                  -2       0      1      2      3
Truncate                 -2       0      0      1      2
Round (ToEven)           -3       0      0      2      3
Round (AwayFromZero)     -3      -1      0      2      3

علما بأن Round هو أقوى مما يبدو ، لأنه ببساطة يمكن أن جولة على عدد محدد من المنازل العشرية.كل الآخرين جولة إلى الصفر العشرية دائما.على سبيل المثال:

n = 3.145;
a = System.Math.Round (n, 2, MidpointRounding.ToEven);       // 3.14
b = System.Math.Round (n, 2, MidpointRounding.AwayFromZero); // 3.15

مع وظائف أخرى ، يجب استخدام ضرب/قسمة الخداع لتحقيق نفس التأثير:

c = System.Math.Truncate (n * 100) / 100;                    // 3.14
d = System.Math.Ceiling (n * 100) / 100;                     // 3.15

Math.Floor() جولات نحو السلبية اللانهاية

Math.Truncate جولات لأعلى أو لأسفل نحو الصفر.

على سبيل المثال:

Math.Floor(-3.4)     = -4
Math.Truncate(-3.4)  = -3

في حين

Math.Floor(3.4)     = 3
Math.Truncate(3.4)  = 3

بعض الأمثلة:

Round(1.5) = 2
Round(2.5) = 2
Round(1.5, MidpointRounding.AwayFromZero) = 2
Round(2.5, MidpointRounding.AwayFromZero) = 3
Round(1.55, 1) = 1.6
Round(1.65, 1) = 1.6
Round(1.55, 1, MidpointRounding.AwayFromZero) = 1.6
Round(1.65, 1, MidpointRounding.AwayFromZero) = 1.7

Truncate(2.10) = 2
Truncate(2.00) = 2
Truncate(1.90) = 1
Truncate(1.80) = 1

هم وظيفيا مع أرقام إيجابية.الفرق هو في كيفية التعامل مع الأرقام السالبة.

على سبيل المثال:

Math.Floor(2.5) = 2
Math.Truncate(2.5) = 2

Math.Floor(-2.5) = -3
Math.Truncate(-2.5) = -2

MSDN الروابط:- الرياضيات.الكلمة طريقة - الرياضيات.اقتطاع طريقة

P. S.حذار من الرياضيات.جولة قد لا يكون ما كنت تتوقع.

للحصول على "معيار" التقريب نتيجة استخدام:

float myFloat = 4.5;
Console.WriteLine( Math.Round(myFloat) ); // writes 4
Console.WriteLine( Math.Round(myFloat, 0, MidpointRounding.AwayFromZero) ) //writes 5
Console.WriteLine( myFloat.ToString("F0") ); // writes 5

Math.Floor() جولات "نحو السلبية إنفينيتي" في الامتثال معيار IEEE 754 القسم 4.

Math.Truncate() جولات " إلى أقرب عدد صحيح نحو الصفر."

math.floor()

يعطي أكبر عدد صحيح أقل من أو يساوي العدد المحدد.

MSDN النظام.الرياضيات.الكلمة

math.truncate()

يحسب جزء لا يتجزأ من عدد.

MSDN النظام.الرياضيات.اقتطاع

Math.Floor(2.56) = 2
Math.Floor(3.22) = 3
Math.Floor(-2.56) = -3
Math.Floor(-3.26) = -4

Math.Truncate(2.56) = 2
Math.Truncate(2.00) = 2
Math.Truncate(1.20) = 1
Math.Truncate(-3.26) = -3
Math.Truncate(-3.96) = -3

بالإضافة الرياضيات.الجولة()

   Math.Round(1.6) = 2
   Math.Round(-8.56) = -9
   Math.Round(8.16) = 8
   Math.Round(8.50) = 8
   Math.Round(8.51) = 9

Math.floor sliiiide إلى اليسار...
Math.ceil sliiiide إلى اليمين...
Math.truncate criiiiss crooooss (الكلمة/سقف دائما نحو 0)
Math.round تشا تشا, السلس الحقيقي...(اذهب إلى أقرب الجانب)

دعونا نذهب إلى العمل!(⌐□_□)

إلى اليسار... Math.floor
إعادته الآن جميعا... --
اثنين من القفزات هذا الوقت... -=2

الجميع التصفيق يديك ✋✋

كيف منخفضة يمكن أن تذهب ؟ يمكن أن تذهب إلى أسفل منخفضة ؟ على طول الطريق إلى floor?

if (this == "wrong")
    return "i don't wanna be right";

Math.truncate(x) هو أيضا نفس int(x).
عن طريق إزالة إيجابية أو سلبية جزء أنت دائما يتجه نحو 0.

Math.Floor():يعطي أكبر عدد صحيح أقل من أو يساوي إلى تحديد الدقة المزدوجة رقم النقطة العائمة.

Math.Round():جولات قيمة إلى أقرب عدد صحيح أو عدد محدد من كسور الأرقام.

Mat.floor() دائما جولة أسفل أي. ، فإنه يعود أقل عدد صحيح.في حين round() سوف يعود لأقرب عدد صحيح

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top