选择大小写转换未正确显示,我该如何解决?

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 部分。

【讨论】:

以上是关于选择大小写转换未正确显示,我该如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

如何将Json数组键转换为小写?

如何在 Vue.js 中将驼峰大小写转换为正确大小写?

如何使用ruby / rails将所有大写字母转换为适当的首字母大写字母,其余为小写?

如何将大写字母转换为小写[重复]

如何将输入转换为小写[重复]

怎么把jpg图片转换成gif