我试图在创建条形图时将可变整数数据转换为百分比。然而,它似乎不起作用。我错过了什么?
string x1 = var_Product_name;
int y1 = Tools.ConvertToInt_02(var_Amount);
// This is the code I used to convert the var_Amount to get the percentage and display as data series in bar graph together with the var_Amount value however this isn't working
int y2 = Tools.ConvertToInt_02(var_Amount)/ 100.ToString("0.00%");
BarChartData_Product_Records_Data_View.Add(new BarChartSourceData_Product_Records_Data_View(x1, y1, y2));
最有可能的是,var_Amount
在0..100的范围内,因此即使是
100/100
结果为1,而较小的值,例如
25/100
结果为0,因为CCD_ 2是一个整数。若要修复此问题,请将y2
更改为支持小数部分的类型,如float
、double
或decimal
。
首先,如果Tools.ConvertToInt_02(var_Amount)
返回整数值,则此行不会编译:/
之前有int
值,/
之后有string
值。
你应该看到:
错误CS0019:运算符"/"不能应用于"int"类型的操作数和"字符串">
如果假设var_Amount
是要格式化为百分比的两倍值,请使用以下方法:
string specifier = "P";
var result = (var_Amount / 100).ToString(specifier, CultureInfo.CurrentCulture);
例如,如果var_Amount
的值为12.3456
,则当当前区域性的当前小数点字符为.
时,result
将为12.35 %
。
有关更多信息,请参阅文档:Double.ToString Method