2

我目前正在开发桌面应用程序。我想将货币转换成文字。我成功了。现在我有两个水晶报表的字段对象。一个宽度为 4000 缇,另一个宽度为 5000 缇。但现在我想把这个词分成两部分,使第一部分适合第一个对象(400 缇)并留在第二部分。

前任。货币成文字——仅四千五百五十

First Object 
----------------------------
|Four Thousand Five Hundred|
----------------------------

Second Object
----------------------------------------
|Fifty Only                             |
-----------------------------------------

提前致谢......

4

1 回答 1

0

我知道的唯一(有点笨拙)的方法是 1. 使用固定宽度的字体和 2. 弄清楚对象中有多少个字符。

因此,在您的示例中,“40500”位于 4000 twip 字段的最后,因此您知道该字段可以容纳 26 个字符。然后,您就可以切掉适合 26 个字符的第一个单词。就像是:

local stringvar input := {table.yourString};
//local stringvar input := "Four Thousand Five Hundred Fifty";
local stringvar array inputSplit := split(input," ");
local numbervar charCount := 0;
local numbervar i;

//output strings
global firstString := "";
global secondString := "";

//for each word in the input...
for i := 1 to ubound(inputSplit) do
  (charCount := charCount + length(inputSplit[i]) + 1;
   if charCount <= 27 then firstString := firstString + " " + inputSplit[i]
     else secondString := secondString + " " + inputSplit[i]);

//remove leading whitespace
firstString := trim(firstString);
secondString := trim(secondString); 
于 2013-06-18T16:22:13.487 回答