确保字符串的第一个字符在 QB64 中是大写的
Posted
技术标签:
【中文标题】确保字符串的第一个字符在 QB64 中是大写的【英文标题】:Ensure first character of strings is uppercase in QB64 【发布时间】:2020-04-01 03:09:01 【问题描述】:有没有办法确保FirstName
和LastName
中的第一个字符仅是大写字母?
DIM FirstName AS STRING
DIM LastName AS STRING
CLS
INPUT "Enter First Name: ", FirstName
INPUT "Enter Last Name: ", LastName
【问题讨论】:
【参考方案1】:您可以串联使用字符串函数LEFT$
和UCASE$
:
first$ = LEFT$(FirstName, 1)
last$ = LEFT$(LastName, 1)
IF first$ <> UCASE$(first$) OR last$ <> UCASE$(last$) THEN
PRINT "error: first letter of names must be capitalized"
END
END IF
如果您不希望程序退出,您可以使用MID$
语句自行将其更改为大写:
first$ = LEFT$(FirstName, 1)
last$ = LEFT$(LastName, 1)
MID$(FirstName, 1, 1) = UCASE$(first$)
MID$(LastName, 1, 1) = UCASE$(last$)
有关字符串操作和转换的更多信息以及其他信息,see the QB64 wiki。
【讨论】:
我怀疑在第二段 cide 中使用了ELSEIF
。我认为代码需要两个IF
。另一方面,代码可能总是使用两个mid$
而没有IF
...如果第一个字符已经是大写,则不会更改任何内容...
@SirJoBlack 修复了ELSEIF
错误。关于 IF
声明是不必要的,您是绝对正确的。谢谢:)【参考方案2】:
签出this:
A$ = LEFT$(FirstName$, 1) // get first character
B = ASC(A$) //change it to ascii
IF B >= 65 AND B <= 90 THEN //is it uppercase?
CK$ = "FIRST CHARACTER IS UPPERCASE"
END IF
PRINT CK$
【讨论】:
您不需要将其更改为 ASCII。IF A$ >= "A" AND A$ <= "Z"
工作得很好。以上是关于确保字符串的第一个字符在 QB64 中是大写的的主要内容,如果未能解决你的问题,请参考以下文章
如何在javascript中将字符串的每个单词的第一个字符大写? [复制]