我试图计算在小数点前有多少个零。
private void textBox1_TextChanged(object sender, EventArgs e)
{
decimal x = 0;
if (Decimal.TryParse(textBox1.Text, out x))
{
var y = 1000000;
var answer = x * y;
displayLabel2.Text = (x.ToString().Replace(".", "").TrimStart(new Char[] { '0' }) + "00").Substring(0, 2);
}
else
{
displayLabel2.Text = "error";
}
}
当我插入(假设)7.2时,我得到一个显示72的输出,这就是我想要的。现在我需要另一个显示器。最初的7.2乘以1000000.因此引用的是7,200,000.00。现在我需要一些如何计算小数点前的5个零并为此显示5。如果我要做的话.72。我的报价是720,000.00。我需要显示4,为4个零。等等。然后我需要将该数字输出到displayLabel5.Text
答案 0 :(得分:0)
快速而脏的代码所以要小心,但AFAIK这是最快的方式。
UsersController
现在数量为4。
保证你这比正则表达更快; - )
修改:对于多次修改,很抱歉,这是漫长的一天。需要咖啡。
答案 1 :(得分:0)
使用正则表达式查找句点之前的所有零,然后获取该匹配的字符串长度。
Regex regex = new Regex(@"(0+)\.?");
string value1 = "7,200,000.00";
value1 = value1.Replace(",",""); //get rid of the commas
Match match = regex.Match(value1);
if (match.Success)
{
Console.WriteLine(match.Value.Length);
}
一如既往地测试代码,因为我刚才在这个小文本框中写了它,而不是在我自己编译和测试的实际视觉工作室中。但这至少应该说明方法论。
修改强> 稍微调整一下正则表达式,以说明该数字根本不会显示小数点的可能性。
答案 2 :(得分:0)
这里有一行<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.bluckapps.appinfomanager.ui.MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:elevation="6dp"
android:minHeight="?attr/actionBarSize"
tools:ignore="UnusedAttribute" />
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
您可以尝试在小数点前计算零。你可以先用小数Linq
然后执行Split()
来得到零的数量。
Where().Count()
结果:
using System;
using System.Linq;
public class Program
{
public static void Main()
{
string myString = (720000.00).ToString();
Console.WriteLine(myString.Split('.')[0].Where(d => d == '0').Count());
}
}