డైనమిక్స్ AX 2012లో అన్ని దశాంశాలతో రియల్ను స్ట్రింగ్గా మార్చండి.
ప్రచురణ: 16 ఫిబ్రవరి, 2025 10:41:25 AM UTCకి
ఈ వ్యాసంలో, డైనమిక్స్ AX 2012లో అన్ని దశాంశాలను భద్రపరుస్తూ ఫ్లోటింగ్ పాయింట్ సంఖ్యను స్ట్రింగ్గా ఎలా మార్చాలో నేను వివరిస్తాను, X++ కోడ్ ఉదాహరణతో సహా.
Convert a Real to String with All Decimals in Dynamics AX 2012
ఈ పోస్ట్లోని సమాచారం డైనమిక్స్ AX 2012 R3 ఆధారంగా రూపొందించబడింది. ఇది ఇతర వెర్షన్లకు చెల్లుబాటు కావచ్చు లేదా చెల్లకపోవచ్చు.
అప్పుడప్పుడు, నేను వాస్తవ సంఖ్యను స్ట్రింగ్గా మార్చాలి. సాధారణంగా, దానిని strFmt()కి పంపితే సరిపోతుంది, కానీ ఆ ఫంక్షన్ ఎల్లప్పుడూ రెండు దశాంశాలకు రౌండ్ అవుతుంది, అది ఎల్లప్పుడూ నేను కోరుకునేది కాదు.
తరువాత num2str() ఫంక్షన్ ఉంది, ఇది బాగా పనిచేస్తుంది, కానీ మీకు ఎన్ని దశాంశాలు మరియు అక్షరాలు కావాలో ముందుగానే తెలుసుకోవాలి.
మీరు ఆ సంఖ్యను అన్ని అంకెలు మరియు దశాంశాలతో కూడిన స్ట్రింగ్గా మార్చాలనుకుంటే ఏమి చేయాలి? ఏదో ఒక కారణం చేత, నేను దీన్ని ఎల్లప్పుడూ గూగుల్లో వెతుకుతున్నాను ఎందుకంటే ఇది ఆశ్చర్యకరంగా అస్పష్టంగా ఉంటుంది మరియు నేను దీన్ని చాలా అరుదుగా చేస్తాను, సాధారణంగా నాకు సరిగ్గా ఎలా గుర్తులేదు - చాలా ప్రోగ్రామింగ్ భాషలలో, మీరు రియల్ను ఖాళీ స్ట్రింగ్కు అనుసంధానించవచ్చని నేను ఆశిస్తాను, కానీ X++ దానిని సపోర్ట్ చేయదు.
ఏదేమైనా, దీన్ని చేయడానికి నేను కనుగొన్న అత్యంత సులభమైన మార్గం .NET కాల్ని ఉపయోగించడం. అధునాతన ఫార్మాటింగ్ కోసం ఎంపికలు ఉన్న మరియు లేని బహుళ ఎంపికలు ఇక్కడ కూడా ఉన్నాయి, కానీ మీరు రియల్ను స్ట్రింగ్గా నిజంగా సులభంగా మార్చాలనుకుంటే, ఇది సరిపోతుంది:
ఈ కోడ్ను AOSలో అమలు చేయాలంటే (ఉదాహరణకు బ్యాచ్ జాబ్లో), ముందుగా అవసరమైన కోడ్ యాక్సెస్ అనుమతిని నిర్ధారించడం గుర్తుంచుకోండి. ఈ సందర్భంలో .NET కోడ్ను కాల్ చేయడానికి మీకు ClrInterop రకం యొక్క InteropPermission అవసరం, కాబట్టి పూర్తి కోడ్ ఉదాహరణ ఇలా ఉంటుంది:
stringValue = System.Convert::ToString(realValue);
CodeAccessPermission::revertAssert();
ఈ సరళమైన System::Convert ఫంక్షన్ దశాంశ బిందువు అక్షరానికి సంబంధించి సిస్టమ్ యొక్క ప్రస్తుత లొకేల్ను ఉపయోగిస్తుందని గుర్తుంచుకోండి. ఇది మీకు సమస్య కాకపోవచ్చు, కానీ దశాంశ విభాజకంగా పూర్ణ బిందువు కంటే కామాను ఉపయోగించే ప్రాంతంలో నివసించే నాకు, ఉదాహరణకు స్ట్రింగ్ను ఇతర సిస్టమ్లు చదవగలిగే ఫైల్లో ఉపయోగించాల్సిన అవసరం ఉంటే దానికి మరింత ప్రాసెసింగ్ అవసరం కావచ్చు.
మరింత చదవడానికి
మీరు ఈ పోస్ట్ను ఆస్వాదించినట్లయితే, మీరు ఈ సూచనలను కూడా ఇష్టపడవచ్చు:
- డైనమిక్స్ AX 2012 లో "డేటా కాంట్రాక్ట్ ఆబ్జెక్ట్ కోసం మెటాడేటా క్లాస్ నిర్వచించబడలేదు" అనే లోపం
- డైనమిక్స్ AX 2012 లో డేటా() మరియు buf2Buf() మధ్య వ్యత్యాసం
- డైనమిక్స్ AX 2012లో మాక్రో మరియు strFmtతో స్ట్రింగ్ ఫార్మాటింగ్
