如何在 flutter/dart 中增加罗马字中的数字
How to increment number in roman word in flutter/dart
我需要在 Roman
中动态增加数字
您可以通过 int 递增并通过此库将其转换为罗马数字:
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();
我需要在 Roman
您可以通过 int 递增并通过此库将其转换为罗马数字:
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();