检查数字字段 lotusscript
Check numeric field lotusscript
我在名为 "fin_Paiement" 的表单上有一个字段。我想要做的是:字段值只接受数字和点,并用点替换任何其他字符。我用替换函数为字母值做了这件事,但它不起作用。
我试过了:
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim db As NotesDatabase
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
doc.fin_Paiement = Replace(doc.fin_Paiement_Montant(0), "*[a-z,A-Z]*", ".")
非常感谢您的帮助!谢谢
LotusScript 的 Replace 方法不支持正则表达式。您必须使第二个参数成为所有字母的数组,例如:
doc.fin_Paiement = Replace(
Cstr(doc.fin_Paiement_Montant(0)),
Split("a, b, c, d, e, f, g, h, i, j, you get the idea...", ", "),
"."
)
请注意,我还没有对此进行测试,但理论上它应该可以解决问题。
创建一个将所有非数字更改为点的函数
Function ToDigitsAndDots(orig As String) As String
Dim i As Integer
Dim char As String
For i=1 To Len(orig)
char = Mid(orig, i, 1)
If Not char Like "#" Then char = "."
JustDigitsAndDots = JustDigitsAndDots & char
Next
End Function
并将您的代码行更改为
doc.fin_Paiement = ToDigitsAndDots(doc.fin_Paiement_Montant(0))
请打消我的疑虑:您的字段属于 "Number" 类型,对吗?在这种情况下,不需要代码,它只接受数字,并且小数分隔符在其属性中指定。默认情况下,字段的区域设置是 Notes 客户端的区域设置,默认情况下是操作系统的区域设置,因此通常不需要您担心。
无论如何,这是您在 LotusScript 中通常不会做的事情!
最直接的方法是在字段的事件之一中使用@functions。
查看您的设计器帮助,here is some hint , and you may want to review this。
我在名为 "fin_Paiement" 的表单上有一个字段。我想要做的是:字段值只接受数字和点,并用点替换任何其他字符。我用替换函数为字母值做了这件事,但它不起作用。 我试过了:
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim db As NotesDatabase
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
doc.fin_Paiement = Replace(doc.fin_Paiement_Montant(0), "*[a-z,A-Z]*", ".")
非常感谢您的帮助!谢谢
LotusScript 的 Replace 方法不支持正则表达式。您必须使第二个参数成为所有字母的数组,例如:
doc.fin_Paiement = Replace(
Cstr(doc.fin_Paiement_Montant(0)),
Split("a, b, c, d, e, f, g, h, i, j, you get the idea...", ", "),
"."
)
请注意,我还没有对此进行测试,但理论上它应该可以解决问题。
创建一个将所有非数字更改为点的函数
Function ToDigitsAndDots(orig As String) As String
Dim i As Integer
Dim char As String
For i=1 To Len(orig)
char = Mid(orig, i, 1)
If Not char Like "#" Then char = "."
JustDigitsAndDots = JustDigitsAndDots & char
Next
End Function
并将您的代码行更改为
doc.fin_Paiement = ToDigitsAndDots(doc.fin_Paiement_Montant(0))
请打消我的疑虑:您的字段属于 "Number" 类型,对吗?在这种情况下,不需要代码,它只接受数字,并且小数分隔符在其属性中指定。默认情况下,字段的区域设置是 Notes 客户端的区域设置,默认情况下是操作系统的区域设置,因此通常不需要您担心。
无论如何,这是您在 LotusScript 中通常不会做的事情! 最直接的方法是在字段的事件之一中使用@functions。
查看您的设计器帮助,here is some hint , and you may want to review this。