在Scala中格式化百分比的最简单/惯用方法是什么?
我有以下解决方案,但我想知道是否存在更简洁的方法:
val value = 0.1456
val s1 = f"the float value is ${value}%.2f"
val s2= s"the percent value is ${java.text.NumberFormat.getPercentInstance.format(value)}"
value: Double = 0.1456
s1: String = the float value is 0.15
s2: String = the percent value is 15%
答案 0 :(得分:1)
您可以使用“pimp my library”模式将#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "e";
int numericalvalue = ((str[0]) - 'a'); //this line of code im trying to understand
cout << numericalvalue;
return 0;
}
方法添加到双打。
asPercentage
答案 1 :(得分:1)
如果您正在寻找更简洁的方法,以下工作方式将与您在代码中的初步想法一致。在十进制位置上添加也很容易,而不必使用隐式功能。显然,使用隐式方法需要使用这些更好的解决方案。
var aThing = new x.Thing();
只是为了给其他几个跑步(这里显示四舍五入):
val value = 0.1456
val s2 = val s2 = f"the percent value is ${value*100}%.0f%%"
s2: String = the percent value is 15%
显示添加小数位的示例:
val value2 = 0.1416
val s3 = val s2 = f"the percent value is ${value2*100}%.0f%%"
s3: String = the percent value is 14%
答案 2 :(得分:0)
您可以使用f字符串将百分比格式设置为所需的相关小数位。在此示例中,它有4个小数位,但是,如果您只想返回两个小数位,则在下面的字符串中使用.2f。 要返回3个小数位,请使用.3f等。 “它们是4”,您将以结尾的零结尾。
if [[ "$(uname -r)" =~ "Microsoft" ]] ; then
myDir="/mnt/c/user/stuff"
elseif [[ "$(uname -r)" =~ "generic" ]] ; then
myDir="/home/user/stuff"
fi