选择大小写转换未正确显示,我该如何解决?
Posted
技术标签:
【中文标题】选择大小写转换未正确显示,我该如何解决?【英文标题】:Select Case conversion not displaying properly, how can i fix? 【发布时间】:2017-04-03 08:46:01 【问题描述】:我有一个可执行文件,它在运行时接受输入的日期,然后选择所需的日期后缀,但它始终默认为其他情况。
当我的 02/04/2017 格式为 DD/MM/YYYY 时,以下情况的结果是 4 月 2 日而不是 2 日...
谁能告诉我这个问题。
Dim Datewc As Date = Nothing
If CheckBox1.Checked Then
Datewc = TextBox1.Text
End If
'Determine date suffix
Dim datsuff As String = ""
Select Case CInt(Datewc.Day)
Case 1 Or 21 Or 31
datsuff = "st"
Case 2 Or 22
datsuff = "nd"
Case 3 Or 23
datsuff = "rd"
Case Else
datsuff = "th"
End Select
【问题讨论】:
【参考方案1】:解析你的日期
Dim dDate As DateTime =
DateTime.ParseExact(TextBox1.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture)
稍微修改一下代码,应该可以了。 Day 函数返回整数,无需使用 CInt 进行强制转换。
'Determine date suffix
Dim datsuff As String = ""
Select Case Datewc.Day
Case 1 , 21 , 31
datsuff = "st"
Case 2 , 22
datsuff = "nd"
Case 3 , 23
datsuff = "rd"
Case Else
datsuff = "th"
End Select
说明
Case 2 Or 22
表示Case ((2 Or 22) ==true)
,它会是假的,因此转到 else 部分。
【讨论】:
以上是关于选择大小写转换未正确显示,我该如何解决?的主要内容,如果未能解决你的问题,请参考以下文章