diff options
Diffstat (limited to 'base/src/bjc/dicelang/Tokenizer.java')
| -rw-r--r-- | base/src/bjc/dicelang/Tokenizer.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/base/src/bjc/dicelang/Tokenizer.java b/base/src/bjc/dicelang/Tokenizer.java index 7aed861..5ddd82b 100644 --- a/base/src/bjc/dicelang/Tokenizer.java +++ b/base/src/bjc/dicelang/Tokenizer.java @@ -1,9 +1,11 @@ package bjc.dicelang; +import java.math.BigDecimal; import java.util.regex.Matcher; import java.util.regex.Pattern; import bjc.dicelang.dice.DiceBox; +import bjc.dicelang.tokens.DecimalToken; import bjc.dicelang.tokens.DiceToken; import bjc.dicelang.tokens.FloatToken; import bjc.dicelang.tokens.Token; @@ -165,8 +167,11 @@ public class Tokenizer { Errors.inst.printError(EK_TOK_INVFLEX, flexNum, Integer.toString(parseBase)); return Token.NIL_TOKEN; } + } else if (TokenUtils.isSuffixedDouble(token, "f")) { + String unsuffixedToken = token.substring(0, token.length() - 1); + tk = new FloatToken(Double.parseDouble(unsuffixedToken)); } else if (TokenUtils.isDouble(token)) { - tk = new FloatToken(Double.parseDouble(token)); + tk = new DecimalToken(new BigDecimal(token)); } else if (DiceBox.isValidExpression(token)) { tk = new DiceToken(DiceBox.parseExpression(token)); } else { |
