Rationnels et BigDecimal
Arithmétique exacte
Rationnels et BigDecimal est une leçon Ruby Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ruby Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ruby Academy comprend 4 leçons au total.
Pourquoi utiliser le calcul exact ?
Les nombres flottants perdent en précision. Pour l’argent et les fractions, Ruby propose Rational et BigDecimal, qui restent exacts.
puts 0.1 + 0.2Créer un Rational
Un Rational est une fraction exacte. Écrivez-le avec le suffixe r ou avec Rational(num, den).
puts (1r / 3)
puts Rational(2, 4)Les rationnels se simplifient automatiquement
Les rationnels se réduisent automatiquement aux termes irréductibles : 2/4 devient donc 1/2.
puts Rational(6, 8)
puts Rational(10, 5)Calcul exact avec des fractions
L’addition de rationnels reste exacte, contrairement à celle des nombres flottants. Un tiers plus un tiers plus un tiers donne exactement un.
third = Rational(1, 3)
puts (third + third + third)Numérateur et dénominateur
Lisez les différentes parties avec numerator et denominator.
r = Rational(3, 4)
puts r.numerator
puts r.denominatorConvertir des rationnels
to_f transforme un rationnel en nombre flottant lorsque vous avez besoin d’une approximation décimale.
puts Rational(1, 8).to_fChargement de BigDecimal
BigDecimal gère les nombres décimaux exacts, ce qui est idéal pour l'argent. Importez-le d'abord depuis la bibliothèque standard.
require "bigdecimal"
a = BigDecimal("0.1")
b = BigDecimal("0.2")
puts (a + b).to_s("F")Utilisez toujours des chaînes
Créez des BigDecimals à partir de chaînes, et non de nombres flottants, afin de ne perdre aucune précision dès le départ.
require "bigdecimal"
good = BigDecimal("1.1")
puts good.to_s("F")Calculs monétaires
BigDecimal conserve la précision exacte des centimes au fil de nombreuses opérations.
require "bigdecimal"
price = BigDecimal("19.99")
qty = 3
total = price * qty
puts total.to_s("F")Arrondir BigDecimal
round sur un BigDecimal contrôle précisément le nombre de décimales.
require "bigdecimal"
n = BigDecimal("2.675")
puts n.round(2).to_s("F")Choisir le bon outil
Utilisez Rationnel pour les fractions et les rapports exacts. Utilisez BigDecimal pour les montants monétaires décimaux exacts. Utilisez Flottant pour les calculs scientifiques rapides lorsque une petite erreur est acceptable.
require "bigdecimal"
puts Rational(1, 3)
puts BigDecimal("0.33").to_s("F")Vérification rapide
Vérifiez l'arithmétique exacte.
Récapitulatif
Vous avez appris l'arithmétique exacte :
- Rationnel pour les fractions exactes qui se simplifient automatiquement
numerator,denominator,to_f- BigDecimal à partir de chaînes pour des calculs monétaires exacts
- choisir le type adapté à la tâche
Vous avez ainsi terminé le cours Ruby sur les nombres et les mathématiques.
puts (Rational(1, 2) + Rational(1, 3))Questions Fréquemment Posées
La leçon « Rationnels et BigDecimal » est-elle gratuite ?
Oui — le texte complet de « Rationnels et BigDecimal » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ruby Academy, passe à CoddyKit PRO. Le cours Ruby Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Rationnels et BigDecimal » ?
Arithmétique exacte Tu pratiques Ruby Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Ruby Academy ?
Aucune expérience préalable n'est requise. Ruby Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Rationnels et BigDecimal » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Ruby Academy ?
Oui. Chaque leçon Ruby Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Entiers et nombres flottants
- Arithmétique et opérateurs
- Le module Math
- Rationnels et BigDecimal