我知道%是一个不能单独使用的符号,但我正在尝试用百分比编号。
例如:
> df$OLNA
[1] "XLOC_000635" "XLOC_004899" "XLOC_006006" "XLOC_006925" "XLOC_007145" "XLOC_007849" "XLOC_016798" "XLOC_017628" "XLOC_026226"
[10] "XLOC_026406" "XLOC_029462" "XLOC_032836" "XLOC_033738" "XLOC_034567" "XLOC_044525" "XLOC_044527" "XLOC_047457" "XLOC_047458"
[19] "XLOC_047981" "XLOC_051412"
> is(df$OLNA)
[1] "character" "vector" "data.frameRowLabels" "SuperClassMethod" "characterORconnection"
[6] "characterORNULL" "atomic" "EnumerationValue" "characterORMIAME" "index"
[11] "atomicVector" "characterOrRle" "FactorOrCharacterOrNULL" "vectorORfactor"
> as.factor(dtf$OLNA)
[1] XLOC_000635 XLOC_004899 XLOC_006006 XLOC_006925 XLOC_007145 XLOC_007849 XLOC_016798 XLOC_017628 XLOC_026226 XLOC_026406 XLOC_029462
[12] XLOC_032836 XLOC_033738 XLOC_034567 XLOC_044525 XLOC_044527 XLOC_047457 XLOC_047458 XLOC_047981 XLOC_051412
但Visual Studio告诉我这是一个“无效的表达术语”。 它是字符串还是类型?有转换我必须做什么?还有什么声明百分符符号?我正在使用c#。
我不确定我是否具体,但我不是想要获得剩余部分,而是将符号本身显示在85旁边。
答案 0 :(得分:1)
将您的值放在引号"85%"
中以获取C#以允许它。对于要显示的非数字,你应该总是这样做。
对于那些试图获得85%数字的人:
C#将%
定义为类似于*
的二元运算符,它执行余数,即除法中的剩余部分(负数很奇怪,但要注意它们)。
没有数字85%
的概念,因为这是语法85 % ___
,其中下划线是未指定的值。
如果您想以数字表示85%
,则应该写0.85
或85.0 / 100
,如果您想要百分比。 (请注意,由于整数除法,因此85 / 100
无法执行0
。
答案 1 :(得分:0)
%
用于modulus expression。它:
将一个表达式的值除以另一个表达式的值,并返回余数。
如果要应用数字的百分比,请使用乘法。
float DeliveryGoal = 0.85;
float totalCommands = 100; // Or whatever value
float totalDelivery = 80; // Or whatever value
if(totalDelivery / totalCommands > DeliveryGoal)
// Objective is reached
答案 2 :(得分:0)
如果DeliveryGoal
是一个字符串,那么只需将其声明为字符串文字:"88%"
如果是双精度数,则解析double
并添加符号:
string percent = (val * 100).ToString() + "%";
或者,您可以使用ToString
方法格式double
:
string percent = val.ToString("P");
有关更多格式选项,请参阅double.ToString
上的MSDN页面。
答案 3 :(得分:0)
要表示百分比,在设置值时,您当然会除以100。
float myPercentage = 0.85;
请注意,数字变量本身不包含任何格式信息。浮点数只是纯数的二进制表示,因为你(应该)知道85%和0.85是相等和等价的。
要使用%符号显示,您可以使用ToString()
和" p" format code
Console.WriteLine(myPercentage.ToString("p"));
答案 4 :(得分:0)
在字符串外使用%
被视为运算符。
要使百分比显示与85%
完全相同,您希望使用字符串来包含%
。
DeliveryGoal = "85%";