Lotus notes 检查数值字段lotusscript

Lotus notes 检查数值字段lotusscript,lotus-notes,lotus-domino,lotusscript,lotus,lotus-formula,Lotus Notes,Lotus Domino,Lotusscript,Lotus,Lotus Formula,我在表单上有一个名为“fin_paient”的字段。我想做的是:字段值只接受数字和点,并用点替换任何其他字符。我用replace function对字母值进行了替换,但它不起作用。 我试过这个: Dim workspace As New NotesUIWorkspace Dim uidoc As NotesUIDocument Dim doc As NotesDocument Dim db As NotesDatabase Set uidoc = workspace.CurrentDocumen

我在表单上有一个名为“fin_paient”的字段。我想做的是:字段值只接受数字和点,并用点替换任何其他字符。我用replace function对字母值进行了替换,但它不起作用。 我试过这个:

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的方法不支持正则表达式。您必须将第二个参数设置为所有字母的数组,例如:

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...", ", "),
 "."
)

注意,我还没有测试过这个,但理论上它应该可以做到这一点。

创建一个函数,将所有非数字改为点

函数将数字和点(源为字符串)设置为字符串
作为整数的Dim i
Dim char作为字符串
对于i=1至Len(原始)
char=Mid(原始,i,1)
如果不是像“#”这样的字符,那么char=“”
JustDigitsAndDots=JustDigitsAndDots&char
下一个
端函数
并将代码行更改为

doc.fin\u paient=ToDigitsAndDots(doc.fin\u paient\u Montant(0))

请解除我一个可怕的疑问:您的字段是“数字”类型的,不是吗?在这种情况下,不需要代码,它只接受数字,并且在其属性中指定了十进制分隔符。默认情况下,字段的区域设置是Notes客户端的设置,默认情况下是操作系统的设置,因此通常不需要担心

无论如何,这是在LotusScript中通常不会做的事情! 最简单的方法是在字段的一个事件中使用@函数

查看设计器帮助,您可能需要