在FORMAT功能方面需要帮助

时间:2016-01-29 12:24:25

标签: vb.net

我编写了一个代码并希望转换值,如果用户写入12,则应将其转换为“12.00” Reffered link

我参考了上面的链接并获得了“格式化”功能但是当我在项目中尝试它时,它将值转换为“0.00”

我的代码我写在下面......

    Private Sub txtDisc_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles txtDisc.KeyDown
    If e.KeyCode = Keys.Return Then
        txtDisc.Text = Format(txtDisc.Text, "0.00")
        txtOpeningBal.Focus()
    End If
End Sub

如果我在编写代码时犯了错误,请帮助我。

我对这个功能全新,并且看到msdn有帮助但无法理解它......

3 个答案:

答案 0 :(得分:9)

在将字符串$select = $dbh1->prepare("SELECT * FROM profile"); $insert = $dbh2->prepare("INSERT INTO PROFILE VALUES (?,?,?,?,?)"); $select->execute; while ( my @row = $select->fetchrow_array ) { $insert->execute(@row); print "each row" + @row; } **Copy from:** CREATE TABLE `profile` ( `ID` bigint(20) NOT NULL, `NAME` varchar(128) COLLATE utf8_bin NOT NULL, `PARENTID` bigint(20) NOT NULL, `TYPE` varchar(128) COLLATE utf8_bin NOT NULL, `KEY` varchar(1000) COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `PR_PARENT` (`PARENTID`,`NAME`), CONSTRAINT `PROFILE_PARENTID` FOREIGN KEY (`PARENTID`) REFERENCES `profile` (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; 传递给CREATE TABLE `PROFILE` ( `ID` bigint(20) NOT NULL, `NAME` varchar(128) NOT NULL, `PARENTID` bigint(20) NOT NULL, `TYPE` varchar(128) NOT NULL, `KEY` varchar(1000) DEFAULT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `PR_PARENT` (`PARENTID`,`NAME`), CONSTRAINT `PROFILE_PARENTID` FOREIGN KEY (`PARENTID`) REFERENCES `PROFILE` (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 方法之前,您需要将其转换为数字值。

可以做类似的事情:

txtDisc.Text

或者您可以解析该值,并使用.Net方法(而不是VB6兼容性方法),如下所示:

Format()

答案 1 :(得分:4)

首先,您必须解析文本输入以获取数值。然后你可以按照自己的意愿格式化它。

 
   txtDisc.Text = Format(Val(txtDisc.Text), "0.00")

注意:Val函数是旧方法,建议通过Double.Parse(),但我想在这个简单的例子中,你不关心。

答案 2 :(得分:2)

您必须将文本值转换为数字(可能是两倍?)以执行格式化。

检查此示例:

Sub Main()
        Dim s As String = "12"
        Dim d As Double = Double.Parse(s)

        Console.WriteLine(d.ToString("#,##0.00"))
        Console.WriteLine(d.ToString("C1"))
        Console.WriteLine(d.ToString("C3"))
        Console.WriteLine(String.Format("{0:C2}", d))
        Console.WriteLine(String.Format("{0:C5}", d))

        Console.ReadLine()
    End Sub

" C"是货币