如何在 flutter/dart 中增加罗马字中的数字

How to increment number in roman word in flutter/dart

我需要在 Roman

中动态增加数字

您可以通过 int 递增并通过此库将其转换为罗马数字:

numerus

final n = 2;
print(n.toRomanNumeralString());

您可以自己编写它作为练习,或者您可以使用像 numerus 这样的包来为您完成这项工作。

,你可以得到以下内容:

const List<int> arabianRomanNumbers = [
  1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1
];

final builder = StringBuffer();
  for (var a = 0; a < arabianRomanNumbers.length; a++) {
    final times = (num / arabianRomanNumbers[a]).truncate(); // equals 1 only when arabianRomanNumbers[a] = num
    // executes n times where n is the number of times you have to add
    // the current roman number value to reach current num.
    builder.write(romanNumbers[a] * times);
    num -= times * arabianRomanNumbers[a]; // subtract previous roman number value from num
  }

 return builder.toString();