如何检查int是否大于1,并在Flutter中使单词复数或单数?

t40tm48m  于 2022-11-30  发布在  Flutter
关注(0)|答案(1)|浏览(186)

我会检查int是否大于1,并将这个词设为复数或单数。我的意思是类似下面的例子:
如果apple变量为1,则将返回:
其他:

2 apples

下面是我目前所做的代码:

"$totalApples ${totalApples > 1 ? "apples" : "apple"}"

但是,我认为应该有一些函数或包或其他方法来解决这个问题,对吗?我希望使用一个短代码,而不是这个长代码。
如何检查int是否大于1,并使单词复数或单数?我将感谢任何帮助。提前感谢您!

ux6nzvsh

ux6nzvsh1#

是的,在intl包中有一个plural方法,检查它from hereGetx package提供与plural方法相同的功能。
但是,如果您只想创建一个简单调用方法来获取复数,则可以使用Dart扩展方法,如下所示:

extension PluralExtension on int { 
  String plural(String singularWord, [String pluralLetters = "s"]) {
    return this > 1 ?  "$this $singularWord$pluralLetters" : "$this $singularWord";  
  }
}

print(5.plural("apple")); // 5 apples
print(0.plural("apple")); // 0 apple
print(1.plural("apple")); // 1 apple
print(10.plural("tomato", "es")); // 1 tomatoes
print(1.plural("tomato", "es")); // 1 tomato

在本例中,我在int类型上添加了一个自定义的plural方法,这样您就可以在任何int类型上调用它。

相关问题