我正在尝试在字段前添加两个零占位符而不更改所涉及的实际值。该字段是从MOM中提取的订单号。现在,字段的公式为{cms.ORDERNO}
。
当我尝试'00'+{cms.ORDERNO}
时,该字段会显示001,254.00
。如何删除小数点和逗号以显示001254
?
答案 0 :(得分:0)
你肯定想要使用替换公式几次。下面的公式将ORDERNO转换为字符串,删除任何逗号和尾随小数位,然后在开头添加两个零:
<ion-content ng-controller="Googleplacesuggestion">
<h1>Search</h1>
<label class = "item item-input">
<input type ="text" ng-model="search" ng-change="getGooglePlaceSuggestionAutocomplete(search)"
class="search-query" id="address_search" placeholder="Search">
</label>
<ul class="unstyled">
<li ng-repeat="data in returnedData">
<span> {{ data }} </span>
</li>
</ul>
例如,如果.controller('Googleplacesuggestion',function($scope,$http){
$scope.getGooglePlaceSuggestionAutocomplete = function($scope){
console.log($scope);
$scope.returnedData = [
{text:'learn angular', done:true},
{text:'build an angular app', done:false}
];
为`00` + REPLACE(REPLACE(CSTR({cms.ORDERNO}),".00",""),",","")
,则此公式的输出为cms.ORDERNO
答案 1 :(得分:0)
通常的技巧是在左侧填充大量额外数字,然后只从右侧获取您真正想要的六个数字。这将处理从1到999999的任何订单号。
right("000000" + totext({cms.ORDERNO}, "0"), 6)
如果未按照您的尝试指定格式字符串,则它使用通常来自Windows的默认设置。顺便说一句,如果我没记错,cstr()
和totext()
大部分是等效的,但totext()
有更多选项。
您还应该能够指定“000000”作为格式字符串来生成左边填充的零。可悲的是,我没有安装Crystal Reports,或者我会检查出来以确定。如果是这种情况,那么如果您只想在画布上使用字段的格式选项,则可能不需要公式。如果你使用公式,它仍然很简单。
totext({cms.ORDERNO}, "000000")
答案 2 :(得分:0)
我知道这已经比较老了,但是存在更好的解决方案,因此我遇到了同样的问题。 ToText内置了您所需的内容。
“ 00” + ToText({cms.ORDERNO},0,“”)
从Crystal文档中:
ToText(x,y,z)
x是要转换为文本字符串的数字或货币值;它 可以是整数或小数值。
y是一个整数,指示要携带的小数位数 x中的值(此参数是可选的。)。
z是一个单字符文本字符串,表示要 用于分隔成千的x。默认是在中指定的字符 您的国际或区域设置控制面板。 (此论点 是可选的。)