我有这样的表情 =First(Fields!Moneyword.Value, "官方收据")
例如,金钱词的值为“五十二万五千四百八十五” 我想分开 “五十二万五千” 和 《四百八十五》 到两个单独的文本框
我尝试这样的事情 =Split(First(Fields!Moneyword.Value, "官方收据"))(0).ToString() 但它只返回第一个单词之后的单词
您需要做的第一件事是确定可以应用于始终在正确点处中断的逻辑。这是相当棘手的,因为你不知道会出现什么单位(数百、数千等)。如果您有原始数值,那么使用它来完成此操作可能会更容易。
无论如何,根据您的单个示例,我使用了最后一个“一百”单词的位置,然后查找前面的单词并将其用作拆分点。正如我所说,我认为这在某些情况下不起作用,例如如果号码是 123050。
它可能会为您指明正确的方向,以获得更完整的方法。您可能还想考虑一些自定义代码。
所以,对于左边的部分,你可以使用这个。
=LEFT(
Fields!Moneyword.Value,
InStrRev(Fields!Moneyword.Value,
" ",
InStrRev(Fields!Moneyword.Value, " hundred") -1
)
)
从中间开始向外,我们寻找字符串
" hundred"
的最后一个实例(注意前面的空格)。然后,从字符串中的这一点开始,我们寻找第一个空格。这个空间就是我们要分割字符串的点。
所以不,这只是取左边 n 个字符的情况,其中 n 是我们上面得到的数字。
对于右边的部分,我们只取从分割点开始的字符串部分,如下所示。
=Mid(
Fields!Moneyword.Value,
InStrRev(Fields!Moneyword.Value, " ", InStrRev(Fields!Moneyword.Value, " hundred")-1)
)