8
return (int) (feetPart) + '\' ' + inchesPart + '\''+'\'';

上記の無効な文字定数はなぜですか。これは JavaScript で完全に機能します。高さをフィートとインチで表​​示したいのですが、このクライアント側を使用していましたが、サーバー側で同じものを使用すると表示されますInvalid character constant

4

1 に答える 1

27

上記の無効な文字定数はなぜですか

この部分のため:

'\' '

これは、実際には 2 文字 (アポストロフィとスペース)の文字リテラルを指定しようとしています。文字リテラルは、正確に 1 文字でなければなりません。

「アポストロフィ スペース」を指定する場合は、代わりに文字列リテラルを使用する必要があります。この場合、アポストロフィをエスケープする必要はありません。

"' "

あなたの声明全体は次のように優れています:

return (int) (feetPart) + "' " + inchesPart + "''";

または、インチの"代わりに使用するには:''

return (int) feetPart + "' " + inchesPart + "\"";

元のコードがコンパイルされた場合、元のコードがあなたが望んでいたことを行うかどうかは私には明らかではないことに注意してくださいfeetPart.

文字列リテラルには一重引用符と二重引用符の両方が使用されているため、コードは Javascript で問題ありませんでした。

于 2013-04-17T13:38:52.037 に答える