यह जब मुझे यह संदेह हुआ तो मैंने यही पाया।
mysql> create table numbers (a decimal(10,2), b float);
mysql> insert into numbers values (100, 100);
mysql> select @a := (a/3), @b := (b/3), @a * 3, @b * 3 from numbers \G
*************************** 1. row ***************************
@a := (a/3): 33.333333333
@b := (b/3): 33.333333333333
@a + @a + @a: 99.999999999000000000000000000000
@b + @b + @b: 100
दशमलव ने ठीक वही किया जो इस मामले में करना चाहिए था, इसने बाकी को काट दिया, इस प्रकार 1/3 भाग खो दिया।
तो रकम के लिए दशमलव बेहतर है, लेकिन डिवीजनों के लिए फ्लोट बेहतर है, कुछ बिंदु तक, निश्चित रूप से। मेरा मतलब है, DECIMAL का उपयोग करने से आपको किसी भी तरह से "असफल प्रमाण अंकगणित" नहीं मिलेगा।
उम्मीद है ये मदद करेगा।