Softanza
DémarrerEnglish
Softanza
Référence · stzNumber

RoundedToHalfUp()

rounds

aussi: round half away from zero commercial rounding

Exemples de base (2)

Softanza
# -1.5 goes away from zero under half-up
? (new stzNumber("-1.5")).RoundedToHalfUp(0)
# ...and to the even digit under half-even
? (new stzNumber("-2.5")).RoundedToHalfEven(0)
# -0.5 rounds to plain 0, not -0
? (new stzNumber("-0.5")).RoundedToHalfEven(0)
# ...and so does -0.4
? (new stzNumber("-0.4")).RoundedToHalfUp(0)
Sortie
-2
-2
0
0

exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de numeric_tie_rule_narrated.ring(s'ouvre dans un nouvel onglet)

Softanza
# 9.99 to one place carries into the units
? (new stzNumber("9.99")).RoundedToHalfUp(1)
# 9.999 to none carries twice
? (new stzNumber("9.999")).RoundedToHalfUp(0)
# 99.95 carries through both
? (new stzNumber("99.95")).RoundedToHalfEven(1)
# 19.995 reaches twenty
? (new stzNumber("19.995")).RoundedToHalfUp(2)
# it pads rather than inventing
? (new stzNumber("1.5")).RoundedToHalfEven(3)
# ...and an integer gains a fraction
? (new stzNumber("7")).RoundedToHalfUp(2)
Sortie
10.0
10
100.0
20.00
1.500
7.00

exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de numeric_tie_rule_narrated.ring(s'ouvre dans un nouvel onglet)

Portée (3)

Softanza
# 1.005 to two places is 1.01 commercially
? (new stzNumber("1.005")).RoundedToHalfUp(2)
# ...and 1.00 by banker's
? (new stzNumber("1.005")).RoundedToHalfEven(2)
# 0.125 is 0.13 or 0.12
? (new stzNumber("0.125")).RoundedToHalfUp(2)
# ...depending on the rule you named
? (new stzNumber("0.125")).RoundedToHalfEven(2)
# 2.345 splits the same way
? (new stzNumber("2.345")).RoundedToHalfEven(2)
# ...but 0.135 does not, because 3 is odd
? (new stzNumber("0.135")).RoundedToHalfEven(2)
Sortie
1.01
1.00
0.13
0.12
2.34
0.14

exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de numeric_tie_rule_narrated.ring(s'ouvre dans un nouvel onglet)

Softanza
# 0.4 goes down under either
? (new stzNumber("0.4")).RoundedToHalfEven(0)
# ...and half-up agrees
? (new stzNumber("0.4")).RoundedToHalfUp(0)
# 0.6 goes up under either
? (new stzNumber("0.6")).RoundedToHalfEven(0)
# ...and half-up agrees
? (new stzNumber("0.6")).RoundedToHalfUp(0)
# 0.51 is more than half, so it rises even under half-even
? (new stzNumber("0.51")).RoundedToHalfEven(0)
# 0.4999 is less than half, so it falls even under half-up
? (new stzNumber("0.4999")).RoundedToHalfUp(0)
# 0.500 IS a tie -- trailing zeros do not change that
? (new stzNumber("0.500")).RoundedToHalfEven(0)
Sortie
0
0
1
1
1
0
0

exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de numeric_tie_rule_narrated.ring(s'ouvre dans un nouvel onglet)

Softanza
# half-up sends 0.5 to 1
? (new stzNumber("0.5")).RoundedToHalfUp(0)
# ...1.5 to 2
? (new stzNumber("1.5")).RoundedToHalfUp(0)
# ...2.5 to 3
? (new stzNumber("2.5")).RoundedToHalfUp(0)
# ...and 3.5 to 4
? (new stzNumber("3.5")).RoundedToHalfUp(0)
# half-even sends 0.5 to 0
? (new stzNumber("0.5")).RoundedToHalfEven(0)
# ...1.5 to 2
? (new stzNumber("1.5")).RoundedToHalfEven(0)
# ...2.5 to 2, not 3
? (new stzNumber("2.5")).RoundedToHalfEven(0)
# ...and 3.5 to 4
? (new stzNumber("3.5")).RoundedToHalfEven(0)
Sortie
1
2
3
4
0
2
2
4

exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de numeric_tie_rule_narrated.ring(s'ouvre dans un nouvel onglet)

Les extensions de cette méthode

Chaque extension, et si elle existe pour cette méthode ; une extension qui existe se compose avec les autres (FindSTCS).

Extension
Existe
Ce qu'elle ajoute · Les noms
Q
oui
fait ce que fait la méthode, puis rend l'objet, pour que l'appel puisse s'enchaîner · RoundedToHalfUpQ
QQ
non
enchaîne sur le type d'objet suivant, plus précis (l'échelle des Q)
QQQ
non
enchaîne sur le type d'objet le plus précis (l'échelle des Q)
QRT
non
rend le résultat comme un objet du type demandé
CS
non
prend un indicateur de sensibilité à la casse
ST
non
prend la position de départ (StartingAt)
IB
non
prend des bornes incluses (IncludingBounds)
XT
non
la forme étendue : plus de paramètres que la méthode de base
XTT
non
encore une extension : une forme étendue de plus, après XT
Z
non
inclut la position dans ce qu'elle rend
ZZ
non
rend les positions comme des sections, [début, fin]
W
non
choisit selon une condition
WF
non
choisit selon une condition, avec les mots-clés expressifs (@NextItem, @PreviousItem...)
D
non
prend une direction, en avant ou en arrière (Directional)
F
non
prend une fonction (la condition ou la mise à jour est donnée comme une fonction) ; le document des formes emploie aussi F pour la forme future, qui diffère l'action
Many
non
travaille sur une collection d'éléments au lieu d'un seul (la forme plurielle)
Except
non
prend des exceptions, ce qu'il faut laisser de côté (la forme exceptionnelle)
U
non
rend le résultat sans doublon

Chaque exemple est un fichier de test de la bibliothèque, exécuté dans la bibliothèque pour cette page ; seuls ceux dont la sortie a tenu toutes les promesses écrites par leur fichier sont montrés. Les explications, les titres et le code sont ceux de la bibliothèque, en anglais.

Voir aussi