ਡਾਇਨਾਮਿਕਸ AX 2012 ਵਿੱਚ ਸਾਰੇ ਦਸ਼ਮਲਵਾਂ ਦੇ ਨਾਲ ਇੱਕ ਰੀਅਲ ਨੂੰ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਬਦਲੋ
ਪ੍ਰਕਾਸ਼ਿਤ: 19 ਮਾਰਚ 2025 9:34:13 ਬਾ.ਦੁ. UTC
ਇਸ ਲੇਖ ਵਿੱਚ, ਮੈਂ ਸਮਝਾਉਂਦਾ ਹਾਂ ਕਿ ਡਾਇਨਾਮਿਕਸ AX 2012 ਵਿੱਚ ਸਾਰੇ ਦਸ਼ਮਲਵਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦੇ ਹੋਏ ਇੱਕ ਫਲੋਟਿੰਗ ਪੁਆਇੰਟ ਨੰਬਰ ਨੂੰ ਇੱਕ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਕਿਵੇਂ ਬਦਲਣਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਇੱਕ X++ ਕੋਡ ਉਦਾਹਰਣ ਵੀ ਸ਼ਾਮਲ ਹੈ।
Convert a Real to String with All Decimals in Dynamics AX 2012
ਇਸ ਪੋਸਟ ਵਿਚ ਦਿੱਤੀ ਗਈ ਜਾਣਕਾਰੀ Dynamics AX 2012 R3 'ਤੇ ਆਧਾਰਿਤ ਹੈ। ਇਹ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਇਹ ਹੋਰ ਸੰਸਕਰਨਾਂ ਲਈ ਸਹੀ ਨਾ ਹੋਵੇ।
ਕਦੇ ਕਦੇ, ਮੈਨੂੰ ਇੱਕ ਅਸਲ ਸੰਖਿਆ ਨੂੰ ਸਟ੍ਰਿੰਗ ਵਿਚ ਬਦਲਣਾ ਪੈਂਦਾ ਹੈ। ਆਮ ਤੌਰ 'ਤੇ, ਇਸਨੂੰ ਸਿਰਫ strFmt() ਨੂੰ ਦੇਣਾ ਕਾਫੀ ਹੁੰਦਾ ਹੈ, ਪਰ ਉਹ ਫੰਕਸ਼ਨ ਹਰ ਵਾਰ ਦੋ ਦਸ਼ਮਲਵਾਂ ਤੱਕ ਗੋਲ ਕਰ ਦਿੰਦਾ ਹੈ, ਜੋ ਕਿ ਹਮੇਸ਼ਾ ਮੈਨੂੰ ਚਾਹੀਦਾ ਨਹੀਂ ਹੈ।
ਫਿਰ num2str() ਫੰਕਸ਼ਨ ਹੈ, ਜੋ ਚੰਗੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ, ਪਰ ਇਸਨੂੰ ਵਰਤਣ ਲਈ ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਹੀ ਜਾਣਨਾ ਪੈਂਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕਿੰਨੇ ਦਸ਼ਮਲਵ ਅਤੇ ਅੱਖਰ ਚਾਹੁੰਦੇ ਹੋ।
ਜੇ ਤੁਸੀਂ ਸਿਰਫ ਸੰਖਿਆ ਨੂੰ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਬਦਲਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਸਾਰੇ ਅੰਕਾਂ ਅਤੇ ਦਸ਼ਮਲਵ ਸਹਿਤ? ਕਿਸੇ ਕਾਰਣ ਕਰਕੇ, ਇਹ ਕੁਝ ਹੈ ਜੋ ਮੈਨੂੰ ਹਮੇਸ਼ਾ ਗੂਗਲ ਕਰਵਾਉਂਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਅਜੀਬ ਤਰੀਕੇ ਨਾਲ ਅਸਪਸ਼ਟ ਹੈ ਅਤੇ ਮੈਂ ਇਹ ਕਾਫੀ ਕਮ ਕਰਦਾ ਹਾਂ ਤਾਂ ਜੋ ਮੈਂ ਆਮ ਤੌਰ 'ਤੇ ਯਾਦ ਨਹੀਂ ਰੱਖ ਸਕਦਾ ਕਿ ਕਿਵੇਂ - ਜਿਆਦਾਤਰ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ, ਮੈਂ ਉਮੀਦ ਕਰਾਂਗਾ ਕਿ ਤੁਸੀਂ ਸਿਰਫ ਅਸਲ ਨੂੰ ਇੱਕ ਖਾਲੀ ਸਟ੍ਰਿੰਗ ਨਾਲ ਜੋੜ ਸਕਦੇ ਹੋ, ਪਰ X++ ਇਸ ਨੂੰ ਸਹਾਇਤ ਨਹੀਂ ਕਰਦਾ।
ਖੈਰ, ਸਭ ਤੋਂ ਆਸਾਨ ਤਰੀਕਾ ਜੋ ਮੈਂ ਇਸ ਨੂੰ ਕਰਨ ਲਈ ਲੱਭਿਆ ਹੈ ਉਹ .NET ਕਾਲ ਦੀ ਵਰਤੋਂ ਕਰ ਕੇ ਹੈ। ਇੱਥੇ ਵੀ ਕਈ ਵਿਕਲਪ ਹਨ, ਜਿੰਨਾਂ ਵਿੱਚ ਐਡਵਾਂਸ ਫਾਰਮੈਟਿੰਗ ਲਈ ਵਿਕਲਪਾਂ ਨਾਲ ਅਤੇ ਬਿਨਾਂ ਹਨ, ਪਰ ਜੇ ਤੁਸੀਂ ਸਿਰਫ ਇੱਕ ਅਸਲ ਨੂੰ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਬਦਲਣ ਦੀ ਬਹੁਤ ਸਧਾਰਣ ਤਰੀਕੇ ਨਾਲ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਇਹ ਕਾਫੀ ਹੋਵੇਗਾ:
ਜੇ ਇਹ ਕੋਡ AOS 'ਤੇ ਚਲਾਇਆ ਜਾਣਾ ਹੈ (ਉਦਾਹਰਣ ਲਈ ਬੈਚ ਜੌਬ ਵਿੱਚ), ਤਾਂ ਪਹਿਲਾਂ ਲੋੜੀਂਦੀ ਕੋਡ ਐਕਸੈਸ ਅਧਿਕਾਰ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨਾ ਯਾਦ ਰੱਖੋ। ਇਸ ਮਾਮਲੇ ਵਿੱਚ ਤੁਸੀਂ .NET ਕੋਡ ਕਾਲ ਕਰਨ ਲਈ ClrInterop ਕਿਸਮ ਦੀ InteropPermission ਦੀ ਲੋੜ ਹੋਵੇਗੀ, ਇਸ ਲਈ ਪੂਰਾ ਕੋਡ ਉਦਾਹਰਣ ਕੁਝ ਇਸ ਤਰ੍ਹਾਂ ਦਿਸੇਗਾ:
stringValue = System.Convert::ToString(realValue);
CodeAccessPermission::revertAssert();
ਧਿਆਨ ਰੱਖੋ ਕਿ ਇਹ ਸਧਾਰਣ System::Convert ਫੰਕਸ਼ਨ ਸਿਸਟਮ ਦੇ ਮੌਜੂਦਾ ਲੋਕਲ ਨੂੰ ਦਸ਼ਮਲਵ ਚਿੰਨ੍ਹ ਕਿਰਿਆ ਵਿੱਚ ਵਰਤਦਾ ਹੈ। ਇਹ ਤੁਹਾਡੇ ਲਈ ਕੋਈ ਸਮੱਸਿਆ ਨਹੀਂ ਹੋ ਸਕਦੀ, ਪਰ ਮੇਰੇ ਲਈ ਜੋ ਇੱਕ ਐਸੀ ਜਗ੍ਹਾ 'ਤੇ ਰਹਿੰਦਾ ਹੈ ਜਿੱਥੇ ਕਮਾ ਨੂੰ ਦਸ਼ਮਲਵ ਵਜੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਨਾ ਕਿ ਪੀਰੀਅਡ, ਇਹ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਜੇ ਸਟ੍ਰਿੰਗ ਨੂੰ ਉਦਾਹਰਣ ਲਈ ਕਿਸੇ ਫਾਇਲ ਵਿੱਚ ਵਰਤਣਾ ਹੋਵੇ ਜੋ ਹੋਰ ਸਿਸਟਮਾਂ ਦੁਆਰਾ ਪੜ੍ਹੀ ਜਾ ਸਕਦੀ ਹੈ ਤਾਂ ਇਸਨੂੰ ਹੋਰ ਪ੍ਰੋਸੈਸਿੰਗ ਦੀ ਲੋੜ ਹੋਵੇ।